Commit graph

9508 commits

Author SHA1 Message Date
Paul Davis
c9658134ce add button time and explicit bank switching to MCP support 2015-10-07 15:13:03 -04:00
Damien Zammit
bcbb14f581 Added use click emphasis toggle (libs/ardour) 2015-10-07 19:34:39 +02:00
Paul Davis
ce9b271a92 track Mackie MIDI port connection status as primary trigger for handshake with device 2015-10-07 13:17:49 -04:00
Paul Davis
7675739f45 use C++ for PortManager::make_port_name_relative() 2015-10-07 13:17:49 -04:00
Robin Gareus
14932d1b86 allow to load huge VST plugin states -fixes #6623
by default libxml has a XML_MAX_TEXT_LENGTH of 10M
with base64 encoding that allows at most 2.5MB state.

set XML_PARSE_HUGE to read large sessions
2015-10-07 14:36:32 +02:00
Robin Gareus
44f1f0caf4 fix exclusive solo group-override 2015-10-07 14:21:30 +02:00
Robin Gareus
96b45d4909 only subdivide plugin-cycle when automation is playing
PluginInsert::automation_run() subdivides plugin-run on every
control-port automation event (without splitting the process cycle).

libevoral has no automation-control context, hence this function
must be implemented by Automatable.
2015-10-07 14:21:29 +02:00
Tim Mayberry
5fd4ee3ef1 Fix handling of Sysex messages with WinMME midi driver 2015-10-07 21:48:56 +10:00
Robin Gareus
2e8fb9207e print VST blacklist filename (for good measure) 2015-10-07 03:28:02 +02:00
Robin Gareus
477d1f3f42 implement solo group override 2015-10-07 01:44:02 +02:00
Robin Gareus
87026c871a add missing include 2015-10-06 21:32:55 +02:00
Robin Gareus
2237389112 renice code. RAII rocks. 2015-10-06 20:18:02 +02:00
Robin Gareus
e78f0fe526 CPPUNIT workaround for mingw/wine/windows 2015-10-06 20:10:42 +02:00
Robin Gareus
e73fa8413e add a "reset all solo state" safeguard 2015-10-06 20:05:38 +02:00
Robin Gareus
ce30132a89 fix initial AFL/PFL state after session-load 2015-10-06 19:10:25 +02:00
Robin Gareus
83d8db3925 add missing semicolon 2015-10-06 18:55:49 +02:00
Paul Davis
2af78143c1 more debugging for MIDI input via WinMME 2015-10-06 12:42:01 -04:00
Robin Gareus
ef35ee5d43 detect windows DLL architecture 2015-10-06 18:16:12 +02:00
Robin Gareus
96720089cf remove newly unused code 2015-10-06 18:16:12 +02:00
Robin Gareus
0cfb898802 propagate solo/iso when disconnecting ports. 2015-10-06 18:16:12 +02:00
Paul Davis
89156be67a add more debugging to portaudio/MME MIDI backend 2015-10-06 11:01:58 -04:00
Robin Gareus
b1609b53bd more solo propagation fixes.
handle cases  Track(s) -> Bus1 -> Bus2
2015-10-06 14:14:44 +02:00
Robin Gareus
139cb23ab9 fix implicit mute display 2015-10-06 12:21:40 +02:00
Robin Gareus
fb2e8387dd "Solo Lock" only locks explicit solo (not implicit).
fixes issue:

Track -> Bus
1) solo track -> implicit Bus solo 
2) Solo-Lock Bus
3) un-solo track -> Bus is stuck w/implicit solo on
2015-10-06 12:21:40 +02:00
Robin Gareus
f04b95c42e Solo-Isolate has no effect on solo propagation.
'Isolate' means that when another track is solo'd the isolated
track won't mute.
2015-10-06 12:21:40 +02:00
Tim Mayberry
4ebc6ef0b4 Fix WinMME midi driver shutdown with sysex enabled
midiInReset triggers the sysex callback to tell the application that it has
finished with the buffer. Calling midiInAddBuffer results in an infinite loop
so just return during shutdown.
2015-10-06 13:29:57 +10:00
Tim Mayberry
1c0265e27c Include button number in canvas button press/release debug info 2015-10-06 13:29:57 +10:00
Tim Mayberry
34d9b2148e Remove an unnecessary boolean argument in jack utils
Specify latency in JackCommandLineOptions instead
2015-10-06 13:29:57 +10:00
Tim Mayberry
3eb4b43fa6 Initialize AudioEngine::last_backend_error() to the default error string
Currently the last backend error string is only set when calling
AudioBackend::start. Errors that occur when calling other AudioBackend methods
like AudioBackend::set_buffer_size do not set the last backend error string.
So until all the required AudioBackend methods return an ErrorCode and
last_backend_error() can be removed just set it to a default string.

Until all errors that occur are correctly indicated by returning an error code
there will still be situations where last_backend_error() is not indicative of
the true error. For instance AudioEngine::start is called and it fails but
returns a valid error code so last_backend_error() is set, then some other
engine/backend method is called that fails and as last_backend_error is not
set the GUI will display the incorrect error message.
2015-10-06 13:29:57 +10:00
Tim Mayberry
da46df6225 Show DSP/CPU load of 0.0% when AudioEngine isn't running 2015-10-06 13:29:57 +10:00
Robin Gareus
b99d833028 fix implicit solo on disconnect - fixes #6308 2015-10-06 02:53:06 +02:00
Robin Gareus
09bad018f4 forward "disconnect all", partial fix for #6308 2015-10-06 01:28:33 +02:00
Robin Gareus
53c14f86c9 fix typo in prev. commit 2015-10-05 22:42:01 +02:00
Robin Gareus
168212b864 fix typo 2015-10-05 22:37:41 +02:00
Robin Gareus
2397429e99 use quotes for in-tree pbd/glib wrapper include 2015-10-05 22:15:18 +02:00
Robin Gareus
dc36b063bf remove unused fstream includes 2015-10-05 22:15:18 +02:00
Robin Gareus
97bd6db2b7 remove i/ofstream from libardour
except: 
 * audio-unit (ifstream is known to work on OSX)
 * evoral curve algorithm debugger
 * cycle-timer debug code
 * export_handler's CDMarker  -> TODO
2015-10-05 22:15:17 +02:00
Robin Gareus
b9c8814959 replace i/ofstream for plugin statues 2015-10-05 22:15:17 +02:00
Robin Gareus
c3b2cc46c5 remove unused API (and ifstream) 2015-10-05 22:15:17 +02:00
Paul Davis
eb4c9b022a try enabling windows MME MIDI sysex support 2015-10-05 12:24:15 -04:00
Paul Davis
33d614359a only use HUI heartbeat with HUI devices 2015-10-05 12:24:15 -04:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Robin Gareus
e11ba7b79d SiP and "solo overrides mutes" tweak:
Only Explicit solos should override mutes.
2015-10-05 14:19:32 +02:00
Robin Gareus
c4a3291b80 allow grouped AFL/PFL with excl. solo 2015-10-05 00:27:48 +02:00
Robin Gareus
58d59177bb fix various stuck-solo cases:
* solo groups
* cancel-solo
* SIP <> AFL/PFL changes

The optimized plural-form route_solo_changed() relied on the false
premise that solo-groups and port-connections are disjoint sets.

-=-

e.g. "cancel all solo" calls set_solo(get_routes(), false);
Since All routes are affected, the "non_solo_change" set is empty, and
no changes were propagated up/downstream.

Routes that indirectly change state as group-members, wrongly end up in
the "non_solo_change" list instead of the "solo_change" list.

If a route feeds another in the same group, no changes were propagated.
2015-10-05 00:08:55 +02:00
Robin Gareus
e21e7f7040 fix AFL/PFL/SIP "stuck solo" - fixes #5803
monitor_send are only active when listening (AFL, PFL).
don't activate them when re-configuring processors.
2015-10-04 23:28:08 +02:00
Paul Davis
4178db5f63 globally remove all trailing whitespace from .cpp and .hpp files missed by previous commit 2015-10-04 15:11:15 -04:00
Paul Davis
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Paul Davis
297e80e020 attempt to stop transport, finish butler work, and close all files as part of Session > Cleanup 2015-10-04 14:18:04 -04:00
Paul Davis
e63de172d5 NOOP: delete trailing whitespace 2015-10-04 14:18:04 -04:00