Commit Graph

33753 Commits

Author SHA1 Message Date
Paul Davis efdd3e86c3 remove unused variable 2021-11-04 13:59:43 -06:00
Paul Davis af2af29c95 remove Kiwi constraint-based packing code from canvas library and users (GUI version) 2021-11-04 11:25:56 -06:00
Paul Davis 0f0c5c7039 remove Kiwi constraint-based packing code from canvas library and users (library version) 2021-11-04 11:25:30 -06:00
Paul Davis a9adc3c5c6 triggerbox: flesh out Request mechanism
Still no actually active requests
2021-11-04 11:16:22 -06:00
Paul Davis b0176c21fb triggerbox: skeleton for requests sent to a TriggerBox (to change state) 2021-11-04 09:50:34 -06:00
Paul Davis 241948635b new session event type for triggering scene changes 2021-11-03 22:58:17 -06:00
Paul Davis 0c5d41039a more scene triggering actions 2021-11-03 18:44:31 -06:00
Paul Davis 79baafde15 triggerbox: allow access to default number of triggers per box (and change type) 2021-11-03 18:44:18 -06:00
Paul Davis 62c80e1430 Add the definition of Session::AfterConnect 2021-11-03 15:18:59 -06:00
Paul Davis 62f9edfc07 Remove TransportMasterManager::reconnect_ports().
PortManager::reconnect_ports() covers all ports, and this method was only
used directly after a call to PortManager::reconnect_ports().
2021-11-03 15:15:54 -06:00
Paul Davis 4ea2fdd5bd Fix internal (aux) send to call ::use_target() when Session::AfterConnect is emitted 2021-11-03 15:07:46 -06:00
Paul Davis 016206e18a Remove all IO code that handled deferred connections
When loading a session, we now just set up port state, which will
populate the Port::_connections member, and then once all ports have
been created, use PortManager::reconnect_ports() to get everything connected.
2021-11-03 15:06:16 -06:00
Paul Davis f3481df9d4 Add new static Session signal will be emitted after port reconnection on session load. 2021-11-03 15:03:40 -06:00
Robin Gareus 79330f909e
Work around connection loss when re-starting JACK backend
If connecting ports using the port-engine fails,
ardour forgets the connection.

Internal backends only produced an error if a port was already
connected, when using ::connect (handle, other), but
ignore already existing connection when using port-names.

Various ports are connected twice when the engine connects
at session load. This worked fine for as long as the engine
was never stopped (saving the session asks the port-engine),
but failed when the engine went away and internal representation
is used.
2021-11-01 23:11:41 +01:00
Robin Gareus 6b348d8183
Reconnecting unconnected ports always succeeds
PortManager::reconnect_ports emit a signal
PortConnectedOrDisconnected when Port::reconnect fails. This is
not needed in case of unconnected ports.
2021-11-01 22:57:18 +01:00
Paul Davis aba0de91f8 add missing file 2021-11-01 13:40:23 -06:00
Paul Davis 42d0873a59 triggerbox: respond to active (triggered) scene 2021-11-01 12:11:57 -06:00
Paul Davis 2e33a7244d bindings: add trgger bindings to list of processed files
This should not need to be done in fmt-bindings, just the list in wscript should
be enough. We ought to fix this someday
2021-11-01 12:11:57 -06:00
Paul Davis b7ce131557 triggerboxUI: skeleton for triggerbox bindings and actions, include triggering of scene 1 2021-11-01 12:11:57 -06:00
Paul Davis 07a98734f3 triggerbox: tentatively add static calls to check for scene triggers inside Session process() 2021-11-01 12:11:57 -06:00
Paul Davis b65f18a56e triggerbox: basics of scene triggering 2021-11-01 12:11:57 -06:00
Robin Gareus 437840dced
NO-OP: whitespace, clang-format 2021-10-31 18:17:01 +01:00
Robin Gareus 07d7e0bf54
Fix JACK-MIDI monitoring when hotplugging devices
During initial setup, PortManager::reestablish_ports(),
the jack client is not yet active and port_connect failed:
"Cannot connect ports owned by inactive clients".

Later hotplugged devices were likewise not connected because
"JACK: Cannot callback the server in notification thread!"

see also 2007bf2d5f
2021-10-31 18:10:28 +01:00
Robin Gareus 84b75f6627
Retain MIDI monitor connection -- #8816
A physical input port must remain connected to ardour's
physical_midi_input_monitor_enable port, otherwise reading
its input can cause crashes.

Previously a MIDI input port was disconnected from all other
targets when "MIDI input follows selection" was enabled.
2021-10-31 16:37:37 +01:00
Robin Gareus 89fc526574
Add API to check for special ports by name 2021-10-31 16:33:03 +01:00
BrunoVernay 157af3ac4f Typo in Lua comments: paramater 2021-10-30 23:02:35 +02:00
BrunoVernay e16ac4b036 Typo in comment: paramater 2021-10-30 23:02:35 +02:00
Bruno Vernay e3836e1162 Typo in code Paramater 2021-10-30 23:02:04 +02:00
Bruno Vernay 2000d306c6
Typo in comments ParamaterDescriptor
ParamaterDescriptor -> ParameterDescriptor
2021-10-30 18:38:14 +02:00
Paul Davis 1e8b7cc563 triggerbox: mo' better MIDI triggers 2021-10-29 16:22:55 -06:00
Paul Davis 0634dcfbc4 remove some unused code (left over from before RippleAll) 2021-10-29 16:22:30 -06:00
Paul Davis 66b812cc2f remove some unused local variables 2021-10-29 16:22:06 -06:00
Paul Davis 4376185a6b temporal: fix TempoPoint::superclock_at (Beats)
a negative beat position needs to be legal, so the assert was moved and modified. The only check
for a negative value is that the TempoPoint being used is at absolute zero.

This check might turn out to be wrong in the future, but for now we still require a tempo and
meter point at absolute zero
2021-10-29 12:55:14 -06:00
Paul Davis 2b9b08aa22 triggerbox: sort-of-mostly get MIDITriggers to work
Repeated loops can eventually go wrong, as can arbitrary stops
2021-10-27 22:54:40 -06:00
Paul Davis 031f39d9d1 triggerbox: remove unused member vars from MIDITrigger 2021-10-27 22:52:58 -06:00
Paul Davis 282707ee32 add ::shift() to RTMidiBuffer to allow shifting time origin of events 2021-10-27 22:51:25 -06:00
Paul Davis e1c874b299 manually reverse 948500bbc7 (final code is not identical to previous state) 2021-10-27 08:36:52 -06:00
Paul Davis 66fe6e937a triggerbox: vaguely working MIDI triggers 2021-10-26 17:34:06 -06:00
Paul Davis 32408db777 fix bug in RTMidiBuffer::bytes() method
bytes[0] does not contain data, only the offset for a blob, if relevant
2021-10-26 17:33:46 -06:00
Paul Davis 948500bbc7 further API changes to MIDIRegion::render() to allow for use by triggers 2021-10-26 17:32:36 -06:00
Paul Davis 787e5a2ea8 midiregion: remove internal_offset local variable
Even in 6.9, the logic of this conditional would always generate an
internal_offset value of zero samples.
2021-10-25 13:55:03 -06:00
Paul Davis 54f5c65f02 generalize MidiRegion::render() to provide MidiRegion::render_range() 2021-10-25 13:30:26 -06:00
Paul Davis f5fb65a3f8 remove unused local variabl 2021-10-25 13:17:18 -06:00
Paul Davis f9b604b614 triggerbox: start to work on details of MidiTrigger::run() 2021-10-25 12:53:49 -06:00
Paul Davis 76d3238fa6 triggerbox: member variable rename to make things slightly clearer 2021-10-25 12:53:27 -06:00
Paul Davis 8fd25e15c0 triggerbox: cleanup parts of Trigger API and finish initial pass of MidiTrigger implementation 2021-10-24 09:27:14 -06:00
Paul Davis 2b754568a0 changes/extensions to RTMidiBuffer API to make it more suitable for slots/triggers 2021-10-24 09:26:35 -06:00
Paul Davis 65f85dfdfe triggerboxUI: GUI elements to load slots from selected regions 2021-10-24 09:25:49 -06:00
Paul Davis 7339aa7c0d triggerbox: new API to set from region (selection) 2021-10-24 09:25:11 -06:00
Paul Davis 600e0b21e8 fix a misleading comment 2021-10-21 11:16:55 -06:00