ardour.git
8 years agomanually revert 4b3043cc and 141e6fb8181; add detailed explanatory comment
Paul Davis [Thu, 14 Jan 2016 14:04:59 +0000 (09:04 -0500)]
manually revert 4b3043cc and 141e6fb8181; add detailed explanatory comment

8 years agoensure that each and every audioengine-related thread has a unique name
Paul Davis [Thu, 14 Jan 2016 14:04:09 +0000 (09:04 -0500)]
ensure that each and every audioengine-related thread has a unique name

8 years agoChange handling of Midi note selection to eliminate signal emission/delays.
Tim Mayberry [Wed, 28 Oct 2015 02:58:55 +0000 (12:58 +1000)]
Change handling of Midi note selection to eliminate signal emission/delays.

Each MidiRegionView(MRV) is connected to the Selection::ClearMidiNoteSelection
signal that is used to notify the all MRV instances to clear their note
selection.

The MRV class also has a private static SelectionCleared signal that is used to
signal other MRV instances when their selection has been cleared. When the
Selection::ClearMidiNoteSelection signal is emitted it causes each MRV to also
emit the SelectionCleared signal. So the emission takes quadratic time.

With 1500 MRV instances emission takes about 2.2 seconds on my machine, and
some operations like track selection cause it to be emitted 3 times(another
issue).

The Selection class in the Editor knows which MRV instances have note
selections, as it is notified by MidiRegionView whenever the selection count
becomes zero or becomes non-zero. Clearing the Note selection should then just
be O(N) and direct calls can be used rather than signals.

This change removes both the signals and uses the existing references between
Selection and MRV class to control note selection. There should be no
behavioural changes in Midi note selection with this change.

8 years agoAdd debug bit for selection debugging output
Tim Mayberry [Tue, 5 Jan 2016 04:00:37 +0000 (14:00 +1000)]
Add debug bit for selection debugging output

8 years agodon't pick up already dead thread request buffers when setting up an event loop
Paul Davis [Thu, 14 Jan 2016 04:25:17 +0000 (23:25 -0500)]
don't pick up already dead thread request buffers when setting up an event loop

8 years agouse a unique key to store per-thread request buffers
Paul Davis [Thu, 14 Jan 2016 04:00:02 +0000 (23:00 -0500)]
use a unique key to store per-thread request buffers

8 years agoyet more event loop debug tracing
Paul Davis [Thu, 14 Jan 2016 02:13:55 +0000 (21:13 -0500)]
yet more event loop debug tracing

8 years agomore event loop debugging
Paul Davis [Thu, 14 Jan 2016 00:48:17 +0000 (19:48 -0500)]
more event loop debugging

8 years agotypo fix
Paul Davis [Wed, 13 Jan 2016 23:14:52 +0000 (18:14 -0500)]
typo fix

8 years agolots more DEBUG_TRACE statements for analysing malfunctioning system
Paul Davis [Wed, 13 Jan 2016 22:03:44 +0000 (17:03 -0500)]
lots more DEBUG_TRACE statements for analysing malfunctioning system

8 years agoFix bug 6725 regions incorrectly moved after tempo change when glued to BBT time
Tim Mayberry [Wed, 6 Jan 2016 13:36:33 +0000 (23:36 +1000)]
Fix bug 6725 regions incorrectly moved after tempo change when glued to BBT time

Playlist::_split_region copies the region and BBT_Time member is default
constructed so position is bar 1 beat 1.

The regions sample position is then initialized to the new position using the
property list.

Playlist::add_region_internal is then used to add new regions to the playlist
which calls region->set_position() but as the region position has already been
initialized it does not recompute the _bbt_time member based on the new sample
position.

Then when a tempo change occurs and Region::update_after_tempo_map_change is
called the default initialized _bbt_time member is used to incorrectly
determine the new sample position.

So the change removes the initialization of the new region position using the
property list initialization method and just lets the playlist set the position
of the region in Playlist::add_region_internal so that the region _bbt_time
member is recomputed in Region::set_position_internal.

8 years agodon't allow to delete AU presets in the UI
Robin Gareus [Wed, 13 Jan 2016 17:01:39 +0000 (18:01 +0100)]
don't allow to delete AU presets in the UI

because the backend is not ready for this.

8 years agoanother DEBUG_TRACE for mackie control x-thread requests
Paul Davis [Wed, 13 Jan 2016 04:30:14 +0000 (23:30 -0500)]
another DEBUG_TRACE for mackie control x-thread requests

8 years agoimproved debug trace messages from BaseUI class
Paul Davis [Wed, 13 Jan 2016 03:10:23 +0000 (22:10 -0500)]
improved debug trace messages from BaseUI class

8 years agoMackie Control, Fix sends after monitor not showing.
Len Ovens [Tue, 12 Jan 2016 16:15:57 +0000 (08:15 -0800)]
Mackie Control, Fix sends after monitor not showing.

8 years agospace bar action (Transport/ToggleRoll) should still start transport if synced to...
Paul Davis [Tue, 12 Jan 2016 13:28:54 +0000 (08:28 -0500)]
space bar action (Transport/ToggleRoll) should still start transport if synced to Engine (JACK)

8 years agoat the end of waf configure, when displaying selected options, break backend settings...
Paul Davis [Tue, 12 Jan 2016 13:06:41 +0000 (08:06 -0500)]
at the end of waf configure, when displaying selected options, break backend settings into their own "output block"

8 years agoadd relevant wscript visibility for the portaudio backend
Paul Davis [Tue, 12 Jan 2016 12:47:25 +0000 (07:47 -0500)]
add relevant wscript visibility for the portaudio backend

8 years agoremove wavesaudio backend
Paul Davis [Tue, 12 Jan 2016 12:45:46 +0000 (07:45 -0500)]
remove wavesaudio backend

8 years agoComment remaining unsolved bug.
André Nusser [Wed, 2 Dec 2015 13:45:11 +0000 (14:45 +0100)]
Comment remaining unsolved bug.

8 years agoDon't show a ghost note when draw mode is entered over a note.
André Nusser [Wed, 2 Dec 2015 10:20:56 +0000 (11:20 +0100)]
Don't show a ghost note when draw mode is entered over a note.

8 years agoClean enter_internal and leave_internal in MidiRegionView.
André Nusser [Mon, 30 Nov 2015 15:49:09 +0000 (16:49 +0100)]
Clean enter_internal and leave_internal in MidiRegionView.

8 years agoFix two ghost note drawing problems.
André Nusser [Mon, 30 Nov 2015 23:15:53 +0000 (00:15 +0100)]
Fix two ghost note drawing problems.

A ghost note could appear:
1) above the region.
2) inside another note even though we haven't yet entered it.

8 years agoHide MIDI ghost note when over existing note.
André Nusser [Sun, 29 Nov 2015 23:58:03 +0000 (00:58 +0100)]
Hide MIDI ghost note when over existing note.

8 years agoHide ghost note when switching from draw to internal edit mode.
André Nusser [Mon, 30 Nov 2015 10:44:41 +0000 (11:44 +0100)]
Hide ghost note when switching from draw to internal edit mode.

Before it was only hidden after moving the mouse.

8 years agoFix appearing ghost note after drag select in internal edit mode.
André Nusser [Mon, 30 Nov 2015 09:46:26 +0000 (10:46 +0100)]
Fix appearing ghost note after drag select in internal edit mode.

8 years agoname ALSA midi ports after device 4.6
Robin Gareus [Mon, 11 Jan 2016 10:46:10 +0000 (11:46 +0100)]
name ALSA midi ports after device

8 years agofix warning message typo
Robin Gareus [Mon, 11 Jan 2016 10:45:44 +0000 (11:45 +0100)]
fix warning message typo

8 years agofix compilation of debug builds
Robin Gareus [Mon, 11 Jan 2016 10:07:09 +0000 (11:07 +0100)]
fix compilation of debug builds

ArdourSurface::FaderPort::Button::name is private

8 years agoremove debug output 4.5
Paul Davis [Mon, 11 Jan 2016 04:34:10 +0000 (23:34 -0500)]
remove debug output

8 years agofaderport: remove wierd shift use design; make user+shift work again
Paul Davis [Mon, 11 Jan 2016 04:32:15 +0000 (23:32 -0500)]
faderport: remove wierd shift use design; make user+shift work again

8 years agocoremidi: do not clear port buffer for every call to parse_events()
Paul Davis [Sun, 10 Jan 2016 22:46:19 +0000 (17:46 -0500)]
coremidi: do not clear port buffer for every call to parse_events()

This was limiting the data flow to 1 MIDI event per process cycle.

8 years agocheck sidebar re-order constrains early on.
Robin Gareus [Sat, 9 Jan 2016 23:25:04 +0000 (00:25 +0100)]
check sidebar re-order constrains early on.

8 years agoretain expansion-state when reordering plugins in the sidebar
Robin Gareus [Sat, 9 Jan 2016 23:00:07 +0000 (00:00 +0100)]
retain expansion-state when reordering plugins in the sidebar

8 years agoadd explanatory comment regarding coremidi data flow
Paul Davis [Sat, 9 Jan 2016 19:45:38 +0000 (14:45 -0500)]
add explanatory comment regarding coremidi data flow

8 years agofix const-ness issue.
Paul Davis [Sat, 9 Jan 2016 19:03:13 +0000 (14:03 -0500)]
fix const-ness issue.

This one is debatable, but since we know that the filter method is const with respect to the AUPluginInfo
object, the const_cast<> seems like the simplest AND cleanest solution

8 years agocoremidi: be sure to mark _event._pending false after queueing, so that it doesn...
Paul Davis [Sat, 9 Jan 2016 18:52:53 +0000 (13:52 -0500)]
coremidi: be sure to mark _event._pending false after queueing, so that it doesn't get queued up again later

8 years agofix compiler argument order (ldflags/loadlibes) - patch from Rodney Dawes
Robin Gareus [Sat, 9 Jan 2016 18:03:43 +0000 (19:03 +0100)]
fix compiler argument order (ldflags/loadlibes) - patch from Rodney Dawes

8 years agoGUI update for plugin-preset-list API change
Robin Gareus [Sat, 9 Jan 2016 14:22:40 +0000 (15:22 +0100)]
GUI update for plugin-preset-list API change

8 years agoAPI evolution
Robin Gareus [Sat, 9 Jan 2016 14:22:16 +0000 (15:22 +0100)]
API evolution

The Session-reference is only needed to instantiate/load the plugin.
Indexing presets is not supposed to call load() and be const WRT to
PluginInfo

8 years agovariable program name in installer script
Robin Gareus [Sat, 9 Jan 2016 12:00:01 +0000 (13:00 +0100)]
variable program name in installer script

8 years agoand again.
Robin Gareus [Sat, 9 Jan 2016 00:24:10 +0000 (01:24 +0100)]
and again.

8 years agofix typo in ce7d18bc16
Robin Gareus [Sat, 9 Jan 2016 00:01:18 +0000 (01:01 +0100)]
fix typo in ce7d18bc16

8 years agoLeave a ToDo note: distinguish LV2 user and factory presets.
Robin Gareus [Fri, 8 Jan 2016 23:57:53 +0000 (00:57 +0100)]
Leave a ToDo note: distinguish LV2 user and factory presets.

8 years agodon't allow to delete factory presets
Robin Gareus [Fri, 8 Jan 2016 23:51:24 +0000 (00:51 +0100)]
don't allow to delete factory presets

8 years agoindex plugins before loading state (favorite order)
Robin Gareus [Fri, 8 Jan 2016 21:07:21 +0000 (22:07 +0100)]
index plugins before loading state (favorite order)

8 years agobetter version than prev. commit (avoid name ambiguity)
Robin Gareus [Fri, 8 Jan 2016 20:53:12 +0000 (21:53 +0100)]
better version than prev. commit (avoid name ambiguity)

8 years agoexclude AU factory presets from favorite list
Robin Gareus [Fri, 8 Jan 2016 20:13:03 +0000 (21:13 +0100)]
exclude AU factory presets from favorite list

8 years agofix favorite plugin sort (after plugin-scan)
Robin Gareus [Fri, 8 Jan 2016 20:12:48 +0000 (21:12 +0100)]
fix favorite plugin sort (after plugin-scan)

8 years agoconsistent way to launch Ardour in gdb
Robin Gareus [Fri, 8 Jan 2016 18:18:56 +0000 (19:18 +0100)]
consistent way to launch Ardour in gdb

8 years agoFix monitor-section session-property vs preference state.
Robin Gareus [Fri, 8 Jan 2016 15:01:30 +0000 (16:01 +0100)]
Fix monitor-section session-property vs preference state.

The initial value of Config::get_use_monitor_bus() may not reflect
the current session's state when loading a session.

8 years agocoreaudio: remove debug output
Paul Davis [Fri, 8 Jan 2016 14:43:33 +0000 (09:43 -0500)]
coreaudio: remove debug output

8 years agocoreaudio: remove debug output
Paul Davis [Fri, 8 Jan 2016 14:39:55 +0000 (09:39 -0500)]
coreaudio: remove debug output

8 years agoNOOP: fix whitespace/indendentation in coreaudio backend code
Paul Davis [Fri, 8 Jan 2016 14:39:00 +0000 (09:39 -0500)]
NOOP: fix whitespace/indendentation in coreaudio backend code

8 years agocoreaudio: reset MIDI parsers when entering and leaving freewheeling
Paul Davis [Fri, 8 Jan 2016 14:19:25 +0000 (09:19 -0500)]
coreaudio: reset MIDI parsers when entering and leaving freewheeling

8 years agoindicate monitor-state
Robin Gareus [Fri, 8 Jan 2016 13:22:02 +0000 (14:22 +0100)]
indicate monitor-state

8 years agotranslatable "Monitor" processor name
Robin Gareus [Fri, 8 Jan 2016 13:21:14 +0000 (14:21 +0100)]
translatable "Monitor" processor name

8 years agoExpose overall monitor-processor state
Robin Gareus [Fri, 8 Jan 2016 13:20:58 +0000 (14:20 +0100)]
Expose overall monitor-processor state

8 years agouse config value to avoid race on session-setup.
Robin Gareus [Fri, 8 Jan 2016 10:34:28 +0000 (11:34 +0100)]
use config value to avoid race on session-setup.

8 years agoremove default implementation to query plugin-preset names
Robin Gareus [Fri, 8 Jan 2016 10:09:43 +0000 (11:09 +0100)]
remove default implementation to query plugin-preset names

8 years agomonitor-section: re-connect to static actions
Robin Gareus [Fri, 8 Jan 2016 00:31:20 +0000 (01:31 +0100)]
monitor-section: re-connect to static actions

8 years agoUpdate Russian translation
Alexandre Prokoudine [Thu, 7 Jan 2016 01:15:25 +0000 (04:15 +0300)]
Update Russian translation

8 years agocoreaudio: correctly clear MIDI port buffers
Paul Davis [Thu, 7 Jan 2016 23:11:36 +0000 (18:11 -0500)]
coreaudio: correctly clear MIDI port buffers

8 years agocoreaudio: factor out common code for stuffing MIDI data into a CoreMidiPort buffer
Paul Davis [Thu, 7 Jan 2016 23:11:15 +0000 (18:11 -0500)]
coreaudio: factor out common code for stuffing MIDI data into a CoreMidiPort buffer

8 years agoAllow to query Windows VST user-preset-names
Robin Gareus [Thu, 7 Jan 2016 21:56:13 +0000 (22:56 +0100)]
Allow to query Windows VST user-preset-names

8 years agolxvst preset name display (user presets only)
Robin Gareus [Thu, 7 Jan 2016 21:55:08 +0000 (22:55 +0100)]
lxvst preset name display (user presets only)

8 years agotweak/add faderport debug messages
Paul Davis [Thu, 7 Jan 2016 21:40:14 +0000 (16:40 -0500)]
tweak/add faderport debug messages

8 years agocoreaudio: per-port parser for incoming MIDI, copied from ALSA Raw MIDI support
Paul Davis [Thu, 7 Jan 2016 21:42:24 +0000 (16:42 -0500)]
coreaudio: per-port parser for incoming MIDI, copied from ALSA Raw MIDI support

8 years agodon't allow to delete factory presets
Robin Gareus [Thu, 7 Jan 2016 21:34:19 +0000 (22:34 +0100)]
don't allow to delete factory presets

8 years agoLADSPA preset discovery
Robin Gareus [Thu, 7 Jan 2016 20:05:14 +0000 (21:05 +0100)]
LADSPA preset discovery

8 years agonitpick
Robin Gareus [Thu, 7 Jan 2016 19:44:59 +0000 (20:44 +0100)]
nitpick

8 years agodiscover AU presets without instantiating plugin
Robin Gareus [Thu, 7 Jan 2016 19:35:28 +0000 (20:35 +0100)]
discover AU presets without instantiating plugin

8 years agodon't re-activate LV2 plugin before cleanup.
Robin Gareus [Thu, 7 Jan 2016 17:11:35 +0000 (18:11 +0100)]
don't re-activate LV2 plugin before cleanup.

8 years agouse new API to query presets
Robin Gareus [Thu, 7 Jan 2016 16:10:47 +0000 (17:10 +0100)]
use new API to query presets

8 years agoLV2 - query presets without instantiating the plugin
Robin Gareus [Thu, 7 Jan 2016 16:10:35 +0000 (17:10 +0100)]
LV2 - query presets without instantiating the plugin

8 years agoAdd API to allow querying plugin-presets without instantiating the plugin
Robin Gareus [Thu, 7 Jan 2016 16:17:49 +0000 (17:17 +0100)]
Add API to allow querying plugin-presets without instantiating the plugin

8 years agoNO-OP, re-order header
Robin Gareus [Thu, 7 Jan 2016 15:59:36 +0000 (16:59 +0100)]
NO-OP, re-order header

8 years agofix missing symbol on OS X
Paul Davis [Thu, 7 Jan 2016 15:39:44 +0000 (10:39 -0500)]
fix missing symbol on OS X

8 years agoonly show plugin context-menu if there is a selection
Robin Gareus [Thu, 7 Jan 2016 13:35:10 +0000 (14:35 +0100)]
only show plugin context-menu if there is a selection

8 years agoremove debug output
Robin Gareus [Thu, 7 Jan 2016 12:38:48 +0000 (13:38 +0100)]
remove debug output

8 years agosession-utils use the "Dummy" backend
Robin Gareus [Thu, 7 Jan 2016 12:18:55 +0000 (13:18 +0100)]
session-utils use the "Dummy" backend

8 years agobinding expects BackSpace not Backspace
Ben Loftis [Thu, 7 Jan 2016 03:17:04 +0000 (21:17 -0600)]
binding expects BackSpace not Backspace

8 years agoadd new MIDI binding map for Novation Impulse 49
Paul Davis [Tue, 5 Jan 2016 17:40:08 +0000 (12:40 -0500)]
add new MIDI binding map for Novation Impulse 49

8 years agoUpdate zh.po
YQ-YSY [Tue, 5 Jan 2016 13:55:15 +0000 (21:55 +0800)]
Update zh.po

update libs/ardour/po/zh.po translate English -> Chinese all done.

8 years agoUpdate zh.po
YQ-YSY [Tue, 5 Jan 2016 13:29:02 +0000 (21:29 +0800)]
Update zh.po

translate english -> chinese all done.

8 years agosafe default button focus for deleting playlists
Robin Gareus [Tue, 5 Jan 2016 14:48:35 +0000 (15:48 +0100)]
safe default button focus for deleting playlists

8 years agoOSC API update for surfaces that always send float parameters.
Robin Gareus [Mon, 4 Jan 2016 17:18:13 +0000 (18:18 +0100)]
OSC API update for surfaces that always send float parameters.

8 years agofix monitor-section state restore.
Robin Gareus [Sun, 3 Jan 2016 20:44:19 +0000 (21:44 +0100)]
fix monitor-section state restore.

Start counting at zero, no weird +1 here, -1 there,
action names are GUI internal anyway.

8 years agoamend 9e3299f for Mixbus
Robin Gareus [Sun, 3 Jan 2016 19:39:47 +0000 (20:39 +0100)]
amend 9e3299f for Mixbus

8 years agoUI port-events are not limited to outputs.
Robin Gareus [Sun, 3 Jan 2016 19:28:16 +0000 (20:28 +0100)]
UI port-events are not limited to outputs.

8 years agofall back to use video-duration from container if stream duration is n/a
Robin Gareus [Sun, 3 Jan 2016 18:50:39 +0000 (19:50 +0100)]
fall back to use video-duration from container if stream duration is n/a

this fixes issues with some .mkv files encoded with
libebml v1.2.0 + libmatroska v1.1.0

8 years agore-map lv2-port (symbol) with Controllable ID
Robin Gareus [Sun, 3 Jan 2016 17:15:59 +0000 (18:15 +0100)]
re-map lv2-port (symbol) with Controllable ID

LV2 plugin port indices can change, so we need to save the symbol name
with the controllable and look up the port-index on load.

8 years agochange Controllable::set_value() API to include grouped control consideration.
Paul Davis [Sat, 2 Jan 2016 09:58:23 +0000 (04:58 -0500)]
change Controllable::set_value() API to include grouped control consideration.

This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls

8 years agoProcessors: separate drag-sources and drop-targets
Robin Gareus [Fri, 1 Jan 2016 12:24:23 +0000 (13:24 +0100)]
Processors: separate drag-sources and drop-targets

8 years agokunterbunte Monitor-Sektion
Robin Gareus [Fri, 1 Jan 2016 12:20:11 +0000 (13:20 +0100)]
kunterbunte Monitor-Sektion

reduce color diversity and clean up color definitions of
the monitor section: mute, solo: use mixer-colors, prefix all MS-colors
with "monitor section"

8 years agoremove debug output
Paul Davis [Fri, 1 Jan 2016 11:58:35 +0000 (06:58 -0500)]
remove debug output

8 years agofix typo
Robin Gareus [Wed, 30 Dec 2015 15:52:18 +0000 (16:52 +0100)]
fix typo

8 years agosmall VST code cleanup: mostly NO-OP. thread attributes and static vars
Robin Gareus [Wed, 30 Dec 2015 12:51:09 +0000 (13:51 +0100)]
small VST code cleanup: mostly NO-OP. thread attributes and static vars

8 years agoset DnD targets per processor
Robin Gareus [Wed, 30 Dec 2015 11:15:25 +0000 (12:15 +0100)]
set DnD targets per processor

This prevents DnD of non-processors to the sidebar

8 years agoallow to set per item drag targets
Robin Gareus [Wed, 30 Dec 2015 11:13:35 +0000 (12:13 +0100)]
allow to set per item drag targets