13
0
Commit Graph

33868 Commits

Author SHA1 Message Date
85fc3d5629 add missing file 2021-11-10 21:16:27 -07:00
4f58a92c6d show trigger/slot selection 2021-11-10 17:51:04 -07:00
a9949f20e6 basic architecture for Trigger selection
This is all done in the GUI, using GUI objects. THe primary goal
here is to allow actions to be applied to selected triggers, so
there's no real need for a trigger aspect to libardour (core)
selection.
2021-11-10 16:37:15 -07:00
91a28b78c4 modify and extend both Session and TriggerBox API to allow better transport control
This allows a stop transport request to first stop all active triggers and then stop the transport
2021-11-10 15:55:58 -07:00
4b5fbeb455 remove unused variable 2021-11-10 11:55:32 -07:00
0d96753364 remove unused variable 2021-11-10 11:55:20 -07:00
c4b189336e triggerbox: threaded ::set_region() implementation 2021-11-10 08:45:38 -07:00
431b7c0d4e triggerbox: more work on ringbuffer request queue for trigger thread 2021-11-09 22:36:51 -07:00
38bf55a1fd triggerbox: basic skeleton for an i/o and stretch thread 2021-11-09 21:47:15 -07:00
7e80111d92 Canvas: Fix notification to parent of show/hide status
This was changed in fc9840f2a9 to hard code a "false" argument describing
whether or not the child bbox had changed. This causes the parent to not
recompute its own bounding box when a child is shown/hidden, which is
incorrect. We now force it to true, which may be overkill for some purposes,
but at worst will just force an unnecessary bbox re-computation and nothing
more.
2021-11-09 08:49:21 -07:00
605daf23f2 add default bindings for note shortening 2021-11-06 10:21:31 -06:00
8cfdd0ca5b add actions to provide access to note-shortening 2021-11-06 09:49:39 -06:00
7fca55eeb5 Fix placement of drawn MIDI notes.
Important logic from 6.9 was either missing or incorrectly implemented. New
version is much simpler - we just use the RoundDownMaybe mode of round_to_bbt()
to ensure that the note start is always within the current grid even if the
mouse is more than halfway "through" it.
2021-11-04 18:27:02 -06:00
2d9eb6ec81 Fix error in drawing length of ghost MIDI notes in note drawing mode 2021-11-04 18:25:45 -06:00
859d43855e triggerbox: functional handling of MIDI region editing -> trigger re-render/reload 2021-11-04 14:00:16 -06:00
efdd3e86c3 remove unused variable 2021-11-04 13:59:43 -06:00
af2af29c95 remove Kiwi constraint-based packing code from canvas library and users (GUI version) 2021-11-04 11:25:56 -06:00
0f0c5c7039 remove Kiwi constraint-based packing code from canvas library and users (library version) 2021-11-04 11:25:30 -06:00
a9adc3c5c6 triggerbox: flesh out Request mechanism
Still no actually active requests
2021-11-04 11:16:22 -06:00
b0176c21fb triggerbox: skeleton for requests sent to a TriggerBox (to change state) 2021-11-04 09:50:34 -06:00
241948635b new session event type for triggering scene changes 2021-11-03 22:58:17 -06:00
0c5d41039a more scene triggering actions 2021-11-03 18:44:31 -06:00
79baafde15 triggerbox: allow access to default number of triggers per box (and change type) 2021-11-03 18:44:18 -06:00
62c80e1430 Add the definition of Session::AfterConnect 2021-11-03 15:18:59 -06:00
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
4ea2fdd5bd Fix internal (aux) send to call ::use_target() when Session::AfterConnect is emitted 2021-11-03 15:07:46 -06:00
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
f3481df9d4 Add new static Session signal will be emitted after port reconnection on session load. 2021-11-03 15:03:40 -06:00
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
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
aba0de91f8 add missing file 2021-11-01 13:40:23 -06:00
42d0873a59 triggerbox: respond to active (triggered) scene 2021-11-01 12:11:57 -06:00
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
b7ce131557 triggerboxUI: skeleton for triggerbox bindings and actions, include triggering of scene 1 2021-11-01 12:11:57 -06:00
07a98734f3 triggerbox: tentatively add static calls to check for scene triggers inside Session process() 2021-11-01 12:11:57 -06:00
b65f18a56e triggerbox: basics of scene triggering 2021-11-01 12:11:57 -06:00
437840dced
NO-OP: whitespace, clang-format 2021-10-31 18:17:01 +01:00
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
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
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
1e8b7cc563 triggerbox: mo' better MIDI triggers 2021-10-29 16:22:55 -06:00
0634dcfbc4 remove some unused code (left over from before RippleAll) 2021-10-29 16:22:30 -06:00
66b812cc2f remove some unused local variables 2021-10-29 16:22:06 -06:00
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
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
031f39d9d1 triggerbox: remove unused member vars from MIDITrigger 2021-10-27 22:52:58 -06:00