ardour.git
6 years agoFix out-of-bounds waveform image rendering. 5.9
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.

6 years agoSupport note name editing in midi list editor
Nil Geisweiller [Sat, 21 Jan 2017 22:38:54 +0000 (00:38 +0200)]
Support note name editing in midi list editor

6 years agoFix compiler warning of unused variable.
André Nusser [Fri, 12 May 2017 09:51:58 +0000 (11:51 +0200)]
Fix compiler warning of unused variable.

6 years agoAdd note name parser to convert to midi note number
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.

6 years agoone more update to german translation
Edgar Aichinger [Sun, 14 May 2017 14:09:53 +0000 (16:09 +0200)]
one more update to german translation

6 years agoupdate german translation
Edgar Aichinger [Sun, 14 May 2017 13:29:27 +0000 (15:29 +0200)]
update german translation

6 years agoyet another stupid typo
Robin Gareus [Sun, 14 May 2017 13:15:10 +0000 (15:15 +0200)]
yet another stupid typo

6 years agoFix double "Tape" in Record Mode drop down when adding new track.
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.

6 years agoFix use-after free (signal after deleting group)
Robin Gareus [Sun, 14 May 2017 09:59:15 +0000 (11:59 +0200)]
Fix use-after free (signal after deleting group)

6 years agoSanitize "well-known" ctrl API
Robin Gareus [Sat, 13 May 2017 22:16:02 +0000 (00:16 +0200)]
Sanitize "well-known" ctrl API

6 years agoOSC: make /*/automation more generic so other controls can be easily added
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

6 years agoFix typos (thanks edogawa)
Robin Gareus [Sat, 13 May 2017 18:33:04 +0000 (20:33 +0200)]
Fix typos (thanks edogawa)

6 years agoThe #end should be #endif
Len Ovens [Sat, 13 May 2017 15:43:33 +0000 (08:43 -0700)]
The #end should be #endif

6 years agoMore tweaks to FP8 layout for 32C
Ben Loftis [Sat, 13 May 2017 12:54:08 +0000 (07:54 -0500)]
More tweaks to FP8 layout for 32C

6 years agoFix copy+paste error for mb32c filter freq.
Ben Loftis [Sat, 13 May 2017 12:26:55 +0000 (07:26 -0500)]
Fix copy+paste error for mb32c filter freq.

6 years agoUpdate FP8: new controllables, clarify 32C bell-shape labels
Robin Gareus [Sat, 13 May 2017 00:02:17 +0000 (02:02 +0200)]
Update FP8: new controllables, clarify 32C bell-shape labels

6 years agoamend efc2660f, well-known stripable controls:
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

6 years agoUpdate Session::writable() during Session::save_as() when switching to copy
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

6 years agoMidi map for Alesis QX25
Len Ovens [Fri, 12 May 2017 22:28:32 +0000 (15:28 -0700)]
Midi map for Alesis QX25

6 years agochange ControlProtocolManager protocol mutex into a RW lock.
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

6 years agodon't actually use a method from libardourcp inside libardour; use a PBD::Signal...
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

6 years agoRemove cfgtool, it's not useful anymore
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).

6 years agoOSC: GUI label change
Len Ovens [Fri, 12 May 2017 04:18:04 +0000 (21:18 -0700)]
OSC: GUI label change

6 years agoOSC: Create new surface struct for ALL incoming messages
Len Ovens [Fri, 12 May 2017 03:46:16 +0000 (20:46 -0700)]
OSC: Create new surface struct for ALL incoming messages

6 years agochange the way ControlProtocols (control surfaces) are notified and handle Stripable...
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.

6 years agoMCP: Mixbus32C: Restore missing filter controls to the Dyn page.
Ben Loftis [Wed, 10 May 2017 16:31:03 +0000 (11:31 -0500)]
MCP: Mixbus32C: Restore missing filter controls to the Dyn page.

6 years agoMCU: F-keys are reserved only for user-defined actions; no need for explicit handling.
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.

6 years agoMCP: Momentarily light buttons when they are used to trigger a defined action.
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.

6 years agoMackie MCP: Assign some F-keys for default user profile.
Ben Loftis [Fri, 5 May 2017 21:39:15 +0000 (16:39 -0500)]
Mackie MCP: Assign some F-keys for default user profile.

6 years agoMackie control panel: display the profile name when any button action is changed.
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.

6 years agoOSC: also init unsaved params on session load.
Len Ovens [Thu, 11 May 2017 20:58:25 +0000 (13:58 -0700)]
OSC: also init unsaved params on session load.

6 years agoOSC: Initialize all surface struct values on creation
Len Ovens [Thu, 11 May 2017 17:51:40 +0000 (10:51 -0700)]
OSC: Initialize all surface struct values on creation

6 years agore-order per-object and global selection change signals
Paul Davis [Thu, 11 May 2017 17:28:49 +0000 (18:28 +0100)]
re-order per-object and global selection change signals

6 years agoOSC: Actually set feedback on first /strip/command
Len Ovens [Thu, 11 May 2017 15:21:00 +0000 (08:21 -0700)]
OSC: Actually set feedback on first /strip/command

6 years agoTweak/fix splash screen event-loop
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().

6 years agoNO-OP: whitespace
Robin Gareus [Thu, 11 May 2017 11:44:17 +0000 (13:44 +0200)]
NO-OP: whitespace

6 years agocontext click on marker > loop range should set loop range
Paul Davis [Thu, 11 May 2017 12:16:07 +0000 (13:16 +0100)]
context click on marker > loop range should set loop range

6 years agoemit per-Stateful PropertyChanged signal when Stripables become selected
Paul Davis [Thu, 11 May 2017 09:04:07 +0000 (10:04 +0100)]
emit per-Stateful PropertyChanged signal when Stripables become selected

6 years agoOSC: fix manual port setting to take effect on first incoming message
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

6 years agoFix another possible case of illegal use of reserved port-names
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.

6 years agoFix reserved ports:
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.

6 years agoOSC: bind should be boost::bind
Len Ovens [Wed, 10 May 2017 16:56:45 +0000 (09:56 -0700)]
OSC: bind should be boost::bind

6 years agoOSC: Automation feedback should match command
Len Ovens [Wed, 10 May 2017 16:42:48 +0000 (09:42 -0700)]
OSC: Automation feedback should match command

6 years agoOSC: change function name to be better description
Len Ovens [Wed, 10 May 2017 16:21:19 +0000 (09:21 -0700)]
OSC: change function name to be better description

6 years agoOSC: simplify code.
Len Ovens [Wed, 10 May 2017 14:10:44 +0000 (07:10 -0700)]
OSC: simplify code.

6 years agoRemove ambiguity to keep MSVC happy
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)

6 years agoSelection::get_stripables() needs to recurse into an Automatable's child Automatables...
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)

6 years agoresolve ambiguity
Robin Gareus [Wed, 10 May 2017 03:00:03 +0000 (05:00 +0200)]
resolve ambiguity

6 years agoEnums are not Classes in C++98
Robin Gareus [Wed, 10 May 2017 02:29:41 +0000 (04:29 +0200)]
Enums are not Classes in C++98

7 years agoArdourButton: Pick up initial action sensitivity
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

7 years agoRemember Monitor-section state (show/hide, attached/detached)
Robin Gareus [Tue, 9 May 2017 16:32:04 +0000 (18:32 +0200)]
Remember Monitor-section state (show/hide, attached/detached)

7 years agoBump VST param-name length limit to 128 bytes and centralize definition
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).

7 years agoOSC: Fix select fader automation play feedback as well fixes issue #7160
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

7 years agoOSC: Get gain feedback to show with automation Play.
Len Ovens [Tue, 9 May 2017 20:38:57 +0000 (13:38 -0700)]
OSC: Get gain feedback to show with automation Play.

7 years agoOSC: Add Automation mode feedback to /strip
Len Ovens [Tue, 9 May 2017 19:40:20 +0000 (12:40 -0700)]
OSC: Add Automation mode feedback to /strip

7 years agoOSC: removed letter automation modes to not conflict with feedback
Len Ovens [Tue, 9 May 2017 18:52:21 +0000 (11:52 -0700)]
OSC: removed letter automation modes to not conflict with feedback

7 years agoOSC: Propagate return value so debug shows errors
Len Ovens [Tue, 9 May 2017 16:05:30 +0000 (09:05 -0700)]
OSC: Propagate return value so debug shows errors

7 years agoOSC: set Automation mode for fader
Len Ovens [Tue, 9 May 2017 14:49:26 +0000 (07:49 -0700)]
OSC: set Automation mode for fader

7 years agoOSC: automation mode get strip (step 2)
Len Ovens [Mon, 8 May 2017 21:08:10 +0000 (14:08 -0700)]
OSC: automation mode get strip (step 2)

7 years agoOSC: Add framework for /*/automation mode
Len Ovens [Mon, 8 May 2017 17:54:43 +0000 (10:54 -0700)]
OSC: Add framework for /*/automation mode

7 years agoArdour does support VST's audioMasterGetProductString, return true;
Robin Gareus [Tue, 9 May 2017 14:31:42 +0000 (16:31 +0200)]
Ardour does support VST's audioMasterGetProductString, return true;

7 years agoiterator std::set::erase (iterator) is C++11
Robin Gareus [Mon, 8 May 2017 14:30:54 +0000 (16:30 +0200)]
iterator std::set::erase (iterator) is C++11

7 years agoLimit clock displays to 30days (720hours) by default.
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)

7 years agofix copy-n-paste error
Paul Davis [Mon, 8 May 2017 10:03:35 +0000 (11:03 +0100)]
fix copy-n-paste error

7 years agofix logic when removing routes
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.

7 years agoremove misc. debug output
Paul Davis [Mon, 8 May 2017 09:40:11 +0000 (10:40 +0100)]
remove misc. debug output

7 years agowhen removing a Route from Session, remove it from CoreSelection and signal that...
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

7 years agowhen removing Stripables from CoreSelection by ID, be sure to remove all possible...
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.

7 years agoallow Session to call Session::remove_stripable_by_id()
Paul Davis [Mon, 8 May 2017 09:35:10 +0000 (10:35 +0100)]
allow Session to call Session::remove_stripable_by_id()

7 years agowhen a Route is removed, don't bother triggering a sync-presentation-info-from-treevi...
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

7 years agowhen a Route is removed, don't bother triggering a sync-presentation-info-from-treevi...
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

7 years agoUpdate Japanese translation
Hiroki Inagaki [Sun, 7 May 2017 20:19:09 +0000 (13:19 -0700)]
Update Japanese translation

7 years agoSemaphores need to have a unique name -- fixes #7341
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.

7 years agoreally fix opening session-archives -- amend 1f80f059be
Robin Gareus [Sat, 6 May 2017 20:05:26 +0000 (22:05 +0200)]
really fix opening session-archives -- amend 1f80f059be

7 years agoFix opening session-archives
Robin Gareus [Sat, 6 May 2017 16:31:18 +0000 (18:31 +0200)]
Fix opening session-archives

7 years ago-Wnon-virtual-dtor
Robin Gareus [Sat, 6 May 2017 13:41:22 +0000 (15:41 +0200)]
-Wnon-virtual-dtor

7 years agoNO-OP: whitespace and FSF address
Robin Gareus [Sat, 6 May 2017 13:11:53 +0000 (15:11 +0200)]
NO-OP: whitespace and FSF address

7 years agoFactor RMS normalization by sqrt(2); match sine peak
Robin Gareus [Sat, 6 May 2017 13:09:05 +0000 (15:09 +0200)]
Factor RMS normalization by sqrt(2); match sine peak

7 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 6 May 2017 12:35:06 +0000 (13:35 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

7 years agoAccommodate newly introduced source(s) in our MSVC project (libardour)
John Emmas [Sat, 6 May 2017 12:34:39 +0000 (13:34 +0100)]
Accommodate newly introduced source(s) in our MSVC project (libardour)

7 years agoMSVC won't allow us to erase an item referenced by const_iterator
John Emmas [Sat, 6 May 2017 12:33:38 +0000 (13:33 +0100)]
MSVC won't allow us to erase an item referenced by const_iterator

7 years agoThe new class 'ARDOUR::CoreSelection' needs to be exportable (since it gets used...
John Emmas [Sat, 6 May 2017 12:32:20 +0000 (13:32 +0100)]
The new class 'ARDOUR::CoreSelection' needs to be exportable (since it gets used outside of libardour)

7 years agoOSC: make some more paths work with or without a parameter.
Len Ovens [Fri, 5 May 2017 15:58:49 +0000 (08:58 -0700)]
OSC: make some more paths work with or without a parameter.

7 years agoOSC: remove debug output.
Len Ovens [Fri, 5 May 2017 05:01:07 +0000 (22:01 -0700)]
OSC: remove debug output.

7 years agopart two of add missing files from selection development branch(es)
Paul Davis [Fri, 5 May 2017 18:26:10 +0000 (19:26 +0100)]
part two of add missing files from selection development branch(es)

7 years agoadd missing files from selection development branch(es)
Paul Davis [Fri, 5 May 2017 18:25:35 +0000 (19:25 +0100)]
add missing files from selection development branch(es)

7 years agoEditor::axis_view_by_control() needs to explore child tracks, now that Selection...
Paul Davis [Fri, 5 May 2017 17:06:51 +0000 (18:06 +0100)]
Editor::axis_view_by_control() needs to explore child tracks, now that Selection is relying on it

7 years agomaintain CoreSelection order in GUI track selection
Paul Davis [Fri, 5 May 2017 15:34:32 +0000 (16:34 +0100)]
maintain CoreSelection order in GUI track selection

7 years agouse CoreSelection for track selection
Paul Davis [Fri, 5 May 2017 11:31:49 +0000 (12:31 +0100)]
use CoreSelection for track selection

7 years agolibardour now has CoreSelection object to manage selection status of Stripables and...
Paul Davis [Fri, 5 May 2017 11:31:21 +0000 (12:31 +0100)]
libardour now has CoreSelection object to manage selection status of Stripables and AutomationControls

7 years agoextend PBD::ID API to allow construction and operator== using uint64_t
Paul Davis [Fri, 5 May 2017 11:18:06 +0000 (12:18 +0100)]
extend PBD::ID API to allow construction and operator== using uint64_t

This is theoretically dangerous, because a PBD::ID is supposed to be unique, and this new constructor
cannot guarantee that. However, the same danger already exists with the std::string-based constructor

7 years agoFP8: use new libardour API
Robin Gareus [Fri, 5 May 2017 14:48:11 +0000 (16:48 +0200)]
FP8: use new libardour API

7 years agoMove special-cased FP8 mute-state into libardour
Robin Gareus [Fri, 5 May 2017 14:47:25 +0000 (16:47 +0200)]
Move special-cased FP8 mute-state into libardour

7 years agoFP8: ignore inactive muted tracks w/mute-clear
Robin Gareus [Fri, 5 May 2017 13:36:08 +0000 (15:36 +0200)]
FP8: ignore inactive muted tracks w/mute-clear

7 years agoFP8: solo+mute undo
Robin Gareus [Fri, 5 May 2017 13:26:52 +0000 (15:26 +0200)]
FP8: solo+mute undo

Eventually this should be moved into libardour: Mixer undo history.
the tentative solution is specifically ifdef'ed FP8_MUTESOLO_UNDO.

7 years agoFix converting v4 monitor state -- amend 8a6d30377
Robin Gareus [Fri, 5 May 2017 12:31:19 +0000 (14:31 +0200)]
Fix converting v4 monitor state -- amend 8a6d30377

It looks like MonitorControl::_monitoring is unused and should be removed.
The actual value is Evoral::Control::_user_value

7 years agoremove cruft (unused UI::ui_scale)
Robin Gareus [Fri, 5 May 2017 11:59:48 +0000 (13:59 +0200)]
remove cruft (unused UI::ui_scale)

7 years agofix ruler scaling -- #7226
Robin Gareus [Fri, 5 May 2017 11:58:59 +0000 (13:58 +0200)]
fix ruler scaling -- #7226

7 years agoOSC: personal monitoring, fix crash and minor bugs
Len Ovens [Thu, 4 May 2017 22:50:24 +0000 (15:50 -0700)]
OSC: personal monitoring, fix crash and minor bugs

7 years agofix/amend previous commit.
Robin Gareus [Thu, 4 May 2017 21:06:52 +0000 (23:06 +0200)]
fix/amend previous commit.