nick_m [Tue, 23 May 2017 01:41:36 +0000 (11:41 +1000)]
Sort tempo map after legacy sections have been assigned a pulse
nick_m [Mon, 22 May 2017 23:54:30 +0000 (09:54 +1000)]
Tempo sections with a BBT start XML node are never ramped
Tim Mayberry [Sun, 11 Dec 2016 23:20:36 +0000 (09:20 +1000)]
Remove unused header file in gtk2_ardour
Tim Mayberry [Tue, 16 May 2017 09:04:18 +0000 (19:04 +1000)]
Remove dead assignment in Editor::export_audio()
Tim Mayberry [Tue, 16 May 2017 01:04:37 +0000 (11:04 +1000)]
Use braces in BasicUI::jump_by_bars()
Tim Mayberry [Tue, 16 May 2017 00:49:05 +0000 (10:49 +1000)]
Use braces in BasicUI::jump_by_seconds()
Tim Mayberry [Tue, 16 May 2017 00:41:39 +0000 (10:41 +1000)]
Use correct variable in BasicUI::jump_by_seconds
Tim Mayberry [Tue, 16 May 2017 00:33:59 +0000 (10:33 +1000)]
Remove dead assignment in Editor::metric_get_bbt
Tim Mayberry [Tue, 16 May 2017 00:20:00 +0000 (10:20 +1000)]
Remove dead assignment in MiniTimeline::draw_edge
nick_m [Mon, 22 May 2017 19:30:39 +0000 (05:30 +1000)]
Fix failure to laod old tempo maps
I suspect this happened after an api change.
Now, just use the position pair instead of a whole new variable.
Len Ovens [Sat, 20 May 2017 17:17:31 +0000 (10:17 -0700)]
OSC: Further fixes so multiple controls can touch at once.
Len Ovens [Sat, 20 May 2017 16:09:01 +0000 (09:09 -0700)]
OSC: fix c++98 mistake
Robin Gareus [Sat, 20 May 2017 10:38:49 +0000 (12:38 +0200)]
Fix libhid compile with /recent/ libc (GNU_SOURCE)
- strtok_r
- strdup
- wcsdup
Len Ovens [Fri, 19 May 2017 22:48:36 +0000 (15:48 -0700)]
OSC: Catch case of surface sending fader move before touch
Len Ovens [Thu, 18 May 2017 22:25:15 +0000 (15:25 -0700)]
OSC: Add fake timeout based touch
Ben Loftis [Wed, 17 May 2017 20:55:43 +0000 (15:55 -0500)]
MCP: Fix issue with strip "select" buttons that stayed stuck on.
* Depending on individual strips to watch the selection property is prone to failure.
* Stripable_selection_changed() is called when a selection operation is completed.
Ben Loftis [Wed, 17 May 2017 20:53:14 +0000 (15:53 -0500)]
MCP: map the well-known EQ knobs more explicitly, not heuristically.
Len Ovens [Tue, 16 May 2017 02:37:39 +0000 (19:37 -0700)]
OSC: Add /strip/fader/touch
Len Ovens [Tue, 16 May 2017 01:40:48 +0000 (18:40 -0700)]
remove unused variable
Robin Gareus [Mon, 15 May 2017 20:49:37 +0000 (22:49 +0200)]
Set Display Name for OSX/macOS
Len Ovens [Mon, 15 May 2017 03:55:24 +0000 (20:55 -0700)]
OSC: added automation name feedback
Len Ovens [Sun, 14 May 2017 02:28:33 +0000 (19:28 -0700)]
OSC: combine two identical if() statements
John Emmas [Mon, 15 May 2017 13:46:34 +0000 (14:46 +0100)]
It might not be obvious why... but 'ARDOUR::ControlProtocol::name()' needs to be a virtual function
Basically, libardour is calling functions from libardour_cp and vice versa. For example, libardour needs 'ARDOUR::ControlProtocol::name()' whereas ardour_cp needs 'ARDOUR::Route::soloed()' and various others. Ordinarily, this would require each library to get built before the other one! :-(
To get around this (in MSVC at least) one of the libraries must be forced to use late binding (e.g. by declaring its functions as 'virtual'). It looks like this is already being done for most of the other functions from 'ARDOUR::ControlProtocol', so let's do it for this function too...
Robin Gareus [Sun, 14 May 2017 18:37:58 +0000 (20:37 +0200)]
Fix out-of-bounds waveform image rendering.
With large sample-rates and high-zoom-level the minimal request-size
or at least 1/10sed can exceed the max image size supported by cairo.
e.g. @192kSPS; 100ms = 19200 samples.
* 1 sample/pixel, * 2 (left/right) = 38400px > 2^15px.
Nil Geisweiller [Sat, 21 Jan 2017 22:38:54 +0000 (00:38 +0200)]
Support note name editing in midi list editor
André Nusser [Fri, 12 May 2017 09:51:58 +0000 (11:51 +0200)]
Fix compiler warning of unused variable.
Nil Geisweiller [Fri, 12 May 2017 18:27:56 +0000 (21:27 +0300)]
Add note name parser to convert to midi note number
Supports i18n, is case and whitespace insensitive for more resilent parsing.
Edgar Aichinger [Sun, 14 May 2017 14:09:53 +0000 (16:09 +0200)]
one more update to german translation
Edgar Aichinger [Sun, 14 May 2017 13:29:27 +0000 (15:29 +0200)]
update german translation
Robin Gareus [Sun, 14 May 2017 13:15:10 +0000 (15:15 +0200)]
yet another stupid typo
André Nusser [Sun, 14 May 2017 09:28:18 +0000 (11:28 +0200)]
Fix double "Tape" in Record Mode drop down when adding new track.
This bug probably also lead to "Tape" being shown in mixbus even
though it should not.
Robin Gareus [Sun, 14 May 2017 09:59:15 +0000 (11:59 +0200)]
Fix use-after free (signal after deleting group)
Robin Gareus [Sat, 13 May 2017 22:16:02 +0000 (00:16 +0200)]
Sanitize "well-known" ctrl API
Len Ovens [Sat, 13 May 2017 17:15:02 +0000 (10:15 -0700)]
OSC: make /*/automation more generic so other controls can be easily added
Robin Gareus [Sat, 13 May 2017 18:33:04 +0000 (20:33 +0200)]
Fix typos (thanks edogawa)
Len Ovens [Sat, 13 May 2017 15:43:33 +0000 (08:43 -0700)]
The #end should be #endif
Ben Loftis [Sat, 13 May 2017 12:54:08 +0000 (07:54 -0500)]
More tweaks to FP8 layout for 32C
Ben Loftis [Sat, 13 May 2017 12:26:55 +0000 (07:26 -0500)]
Fix copy+paste error for mb32c filter freq.
Robin Gareus [Sat, 13 May 2017 00:02:17 +0000 (02:02 +0200)]
Update FP8: new controllables, clarify 32C bell-shape labels
Robin Gareus [Fri, 12 May 2017 23:54:27 +0000 (01:54 +0200)]
amend
efc2660f, well-known stripable controls:
* consistent hpf/lpf controllables (actually hi/lo bell in 32C)
* HPT, LPF frequencies are exposed as EQ band
* don't expose filter ctrl for mixbuses/master
Tim Mayberry [Fri, 12 May 2017 22:57:58 +0000 (08:57 +1000)]
Update Session::writable() during Session::save_as() when switching to copy
Loading a read only Session then making a copy with Save As and switch was
not allowing new Session to be saved as writable state was not updated.
Resolves: #7352
Len Ovens [Fri, 12 May 2017 22:28:32 +0000 (15:28 -0700)]
Midi map for Alesis QX25
Paul Davis [Fri, 12 May 2017 19:09:40 +0000 (20:09 +0100)]
change ControlProtocolManager protocol mutex into a RW lock.
Probably not gaining much in terms of contention, but there's really no reason to be using a mutex
Paul Davis [Fri, 12 May 2017 16:49:09 +0000 (17:49 +0100)]
don't actually use a method from libardourcp inside libardour; use a PBD::Signal to avoid linker issues
Robin Gareus [Fri, 12 May 2017 14:34:49 +0000 (16:34 +0200)]
Remove cfgtool, it's not useful anymore
cfgtool was used to dump the current config defaults into ./system_config
on the system it runs. It was manually invoked (usually on Linux) and
hence produced incorrect settings for Windows and OSX variants.
Since
ea4bbcf5 Ardour binaries bundle a minimal empty system_config,
and the built-in defaults are used (correct for every platform).
Len Ovens [Fri, 12 May 2017 04:18:04 +0000 (21:18 -0700)]
OSC: GUI label change
Len Ovens [Fri, 12 May 2017 03:46:16 +0000 (20:46 -0700)]
OSC: Create new surface struct for ALL incoming messages
Paul Davis [Fri, 12 May 2017 13:51:31 +0000 (14:51 +0100)]
change the way ControlProtocols (control surfaces) are notified and handle Stripable selection changes
The Editor continues to notify them, but via a direct call to ControlProtocolManager, not a signal.
The CP Manager calls the ControlProtocol static method to set up static data structures holding
selection info for all surfaces and then notifies each surface/protocol that selection has changed.
Ben Loftis [Wed, 10 May 2017 16:31:03 +0000 (11:31 -0500)]
MCP: Mixbus32C: Restore missing filter controls to the Dyn page.
Ben Loftis [Mon, 8 May 2017 15:12:13 +0000 (10:12 -0500)]
MCU: F-keys are reserved only for user-defined actions; no need for explicit handling.
Ben Loftis [Mon, 8 May 2017 13:13:49 +0000 (08:13 -0500)]
MCP: Momentarily light buttons when they are used to trigger a defined action.
*This is mainly for F-keys
*If a button is not assigned an action, it will not light,
hopefully indicating to the user that it is unmapped.
Ben Loftis [Fri, 5 May 2017 21:39:15 +0000 (16:39 -0500)]
Mackie MCP: Assign some F-keys for default user profile.
Ben Loftis [Fri, 5 May 2017 21:38:19 +0000 (16:38 -0500)]
Mackie control panel: display the profile name when any button action is changed.
Len Ovens [Thu, 11 May 2017 20:58:25 +0000 (13:58 -0700)]
OSC: also init unsaved params on session load.
Len Ovens [Thu, 11 May 2017 17:51:40 +0000 (10:51 -0700)]
OSC: Initialize all surface struct values on creation
Paul Davis [Thu, 11 May 2017 17:28:49 +0000 (18:28 +0100)]
re-order per-object and global selection change signals
Len Ovens [Thu, 11 May 2017 15:21:00 +0000 (08:21 -0700)]
OSC: Actually set feedback on first /strip/command
Robin Gareus [Thu, 11 May 2017 12:20:33 +0000 (14:20 +0200)]
Tweak/fix splash screen event-loop
Prevent possible endless loop in Splash::display() and handle
some related edge-cases and race conditions WRT expose_done
and is_visible().
Robin Gareus [Thu, 11 May 2017 11:44:17 +0000 (13:44 +0200)]
NO-OP: whitespace
Paul Davis [Thu, 11 May 2017 12:16:07 +0000 (13:16 +0100)]
context click on marker > loop range should set loop range
Paul Davis [Thu, 11 May 2017 09:04:07 +0000 (10:04 +0100)]
emit per-Stateful PropertyChanged signal when Stripables become selected
Len Ovens [Wed, 10 May 2017 21:13:47 +0000 (14:13 -0700)]
OSC: fix manual port setting to take effect on first incoming message
Robin Gareus [Wed, 10 May 2017 18:28:47 +0000 (20:28 +0200)]
Fix another possible case of illegal use of reserved port-names
Session::io_name_is_legal() is used for Routes and Processors:
Route::set_name(), ProcessorBox::rename_processor() and
and Route::ensure_track_or_route_name() -- it is not used for actual
I/O objects.
Robin Gareus [Wed, 10 May 2017 18:24:28 +0000 (20:24 +0200)]
Fix reserved ports:
* "Click" is not translated
* add auditioner and FaderPort ctrl surfaces.
Len Ovens [Wed, 10 May 2017 16:56:45 +0000 (09:56 -0700)]
OSC: bind should be boost::bind
Len Ovens [Wed, 10 May 2017 16:42:48 +0000 (09:42 -0700)]
OSC: Automation feedback should match command
Len Ovens [Wed, 10 May 2017 16:21:19 +0000 (09:21 -0700)]
OSC: change function name to be better description
Len Ovens [Wed, 10 May 2017 14:10:44 +0000 (07:10 -0700)]
OSC: simplify code.
John Emmas [Wed, 10 May 2017 11:22:57 +0000 (12:22 +0100)]
Remove ambiguity to keep MSVC happy
NB: Do we really need 'floor()' here?? (we seem to be multiplying integers)
Paul Davis [Wed, 10 May 2017 07:52:33 +0000 (08:52 +0100)]
Selection::get_stripables() needs to recurse into an Automatable's child Automatables when looking for for an Automation Control
It also needs renaming (to come)
Robin Gareus [Wed, 10 May 2017 03:00:03 +0000 (05:00 +0200)]
resolve ambiguity
Robin Gareus [Wed, 10 May 2017 02:29:41 +0000 (04:29 +0200)]
Enums are not Classes in C++98
Robin Gareus [Tue, 9 May 2017 22:15:44 +0000 (00:15 +0200)]
ArdourButton: Pick up initial action sensitivity
e.g. monitor-section show/hide button
Robin Gareus [Tue, 9 May 2017 16:32:04 +0000 (18:32 +0200)]
Remember Monitor-section state (show/hide, attached/detached)
Robin Gareus [Tue, 9 May 2017 19:58:50 +0000 (21:58 +0200)]
Bump VST param-name length limit to 128 bytes and centralize definition
The official VST spec says 8 bytes, JUCE uses 24 + 1, and there's
anecdotal evidence that some VSTs use up to 100 (which apparently works
in many hosts).
Len Ovens [Tue, 9 May 2017 21:10:49 +0000 (14:10 -0700)]
OSC: Fix select fader automation play feedback as well fixes issue #7160
Len Ovens [Tue, 9 May 2017 20:38:57 +0000 (13:38 -0700)]
OSC: Get gain feedback to show with automation Play.
Len Ovens [Tue, 9 May 2017 19:40:20 +0000 (12:40 -0700)]
OSC: Add Automation mode feedback to /strip
Len Ovens [Tue, 9 May 2017 18:52:21 +0000 (11:52 -0700)]
OSC: removed letter automation modes to not conflict with feedback
Len Ovens [Tue, 9 May 2017 16:05:30 +0000 (09:05 -0700)]
OSC: Propagate return value so debug shows errors
Len Ovens [Tue, 9 May 2017 14:49:26 +0000 (07:49 -0700)]
OSC: set Automation mode for fader
Len Ovens [Mon, 8 May 2017 21:08:10 +0000 (14:08 -0700)]
OSC: automation mode get strip (step 2)
Len Ovens [Mon, 8 May 2017 17:54:43 +0000 (10:54 -0700)]
OSC: Add framework for /*/automation mode
Robin Gareus [Tue, 9 May 2017 14:31:42 +0000 (16:31 +0200)]
Ardour does support VST's audioMasterGetProductString, return true;
Robin Gareus [Mon, 8 May 2017 14:30:54 +0000 (16:30 +0200)]
iterator std::set::erase (iterator) is C++11
Robin Gareus [Mon, 8 May 2017 10:37:17 +0000 (12:37 +0200)]
Limit clock displays to 30days (720hours) by default.
This prevents various edge-cases of selection-clocks (eg. unbound range
selection after start-range; and makes it near impossible to roll-over
2^63 using GUI operations)
Paul Davis [Mon, 8 May 2017 10:03:35 +0000 (11:03 +0100)]
fix copy-n-paste error
Paul Davis [Mon, 8 May 2017 09:56:24 +0000 (10:56 +0100)]
fix logic when removing routes
Selection change and re-order signals are distinct.
Paul Davis [Mon, 8 May 2017 09:40:11 +0000 (10:40 +0100)]
remove misc. debug output
Paul Davis [Mon, 8 May 2017 09:36:46 +0000 (10:36 +0100)]
when removing a Route from Session, remove it from CoreSelection and signal that change if necessary
Paul Davis [Mon, 8 May 2017 09:36:04 +0000 (10:36 +0100)]
when removing Stripables from CoreSelection by ID, be sure to remove all possible entries in the Selection
A Stripable may have itself plus zero-to-N automation controls in
CoreSelection.
Paul Davis [Mon, 8 May 2017 09:35:10 +0000 (10:35 +0100)]
allow Session to call Session::remove_stripable_by_id()
Paul Davis [Mon, 8 May 2017 09:33:37 +0000 (10:33 +0100)]
when a Route is removed, don't bother triggering a sync-presentation-info-from-treeview because it isn't necessary
Also, don't update mixer selection unless selection actually changed
Paul Davis [Mon, 8 May 2017 09:31:59 +0000 (10:31 +0100)]
when a Route is removed, don't bother triggering a sync-presentation-info-from-treeview because it isn't necessary
Hiroki Inagaki [Sun, 7 May 2017 20:19:09 +0000 (13:19 -0700)]
Update Japanese translation
Robin Gareus [Sun, 7 May 2017 00:02:30 +0000 (02:02 +0200)]
Semaphores need to have a unique name -- fixes #7341
On Windows (and OSX) semaphores are named. If the name matches an existing
semaphore, it is re-used and not re-initialized. In case of multiple
LV2-plugins each with a worker-thread this can lead to a deadlock.
Robin Gareus [Sat, 6 May 2017 20:05:26 +0000 (22:05 +0200)]
really fix opening session-archives -- amend
1f80f059be
Robin Gareus [Sat, 6 May 2017 16:31:18 +0000 (18:31 +0200)]
Fix opening session-archives
Robin Gareus [Sat, 6 May 2017 13:41:22 +0000 (15:41 +0200)]
-Wnon-virtual-dtor
Robin Gareus [Sat, 6 May 2017 13:11:53 +0000 (15:11 +0200)]
NO-OP: whitespace and FSF address