Ben Loftis
6c292a83da
basic_ui: use session-provided bang/unbang functions
2022-10-01 09:13:14 -05:00
Ben Loftis
1e283adb22
disambiguate trigger functions: stop_all_triggers -> trigger_stop_all
2022-10-01 09:13:14 -05:00
Ben Loftis
75ae0fd4b1
disambiguate trigger functions: cue_bang -> trigger_cue_row
2022-10-01 09:13:14 -05:00
Ben Loftis
be28c9ff88
osc: add functions to trigger cue rows, and stop all triggers
2022-10-01 09:13:14 -05:00
Paul Davis
19db8f9c68
control protocols: fix design of trigger unbang method
2022-08-27 08:32:03 -06:00
Paul Davis
3cffca9178
control protocols: add trigger unbang method
2022-08-27 08:26:08 -06:00
Paul Davis
26c48aae1b
control protocols: add trigger bang method to BasicUI
2022-08-27 08:15:17 -06:00
Paul Davis
eb4ac77a7b
control protocol: allow protocol implementations to override rid selection API
2022-06-05 15:36:41 -06:00
Paul Davis
33b7c38e42
control protocols: add API to control selection by RID
2022-06-05 15:03:48 -06:00
Paul Davis
9758e6280f
use new event loop callback to ensure that all surface/control protocol threads have tempo map ptr set
2022-05-16 15:24:52 -06:00
Remi Thebault
a77ac7107f
fix websockets toggle_roll
...
Also fix BasicUI::toggle_roll who is supposed to do
the same as spacebar but doesn't.
2022-04-08 19:48:23 +02:00
Paul Davis
7bf89ce109
Constification: make Stateful::get_state() const, with all other required const-ness added (libs)
2022-04-06 21:56:59 -06:00
Paul Davis
9e763c2672
remove all dangling event-loop-precall code
2021-10-11 17:48:53 -06:00
Paul Davis
ce7ea4ec36
Use glib event callback in Mackie Control support to set thread-local variables
2021-08-13 12:51:30 -06:00
Paul Davis
f67029bd02
random commit to facilitate trivial move of work from laptop back to main system
2021-08-13 12:51:29 -06:00
Paul Davis
086e48796c
surfaces: first round of conversion to use timeline types
2021-08-13 12:51:29 -06:00
Paul Davis
fbd1221833
move FaderPort8 method "button_varispeed()" into BasicUI for more general use
2021-05-04 16:10:24 -06:00
Robin Gareus
72736289c8
NO-OP: rename API rename
...
CP selection API is now implemented as functions, not signals.
2020-10-18 14:47:05 +02:00
Robin Gareus
84bf97aa49
Update ControlProtocol API, use CoreSelection
...
* replace signal-emission with direct calls to CoreSelecton
using BaseUI's session pointer
* remove unused leftmost strip API
* use CoreSelection for first-selected strip
* Accessing CoreSelection does not modify the session
(allow access from const callbacks)
* replace static calls in P2 surface
This removes indirection and dependency on the GUI for
managing strip selection.
2020-10-18 14:44:38 +02:00
Ben Loftis
276baee8ad
surfaces transport hotfix: BasicUI: prefer actual_speed() and transport_stopped_or_stopping() for current Transport FSM
2020-02-23 09:02:21 -06:00
Paul Davis
47767738b9
rename DoTheRightThing to RollIfAppropriate
2020-01-18 08:49:18 -07:00
Paul Davis
3c00048b0c
Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
...
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
Paul Davis
a8cc5b1303
provide new methods for BasicUI that wrap the "complexity" of how to show transport state via lit buttons
2019-12-29 18:43:51 -07:00
Paul Davis
7b25a89944
part 1 of replicating semantics of ARDOUR_UI::toggle_roll() in BasicUI::toggle_roll()
...
This can be done better, even without sharing code
2019-11-02 16:32:18 -06:00
Robin Gareus
66ceb2b3c7
NO-OP: whitespace
2019-09-06 20:43:20 +02:00
Robin Gareus
33c251a623
Fix MSVC compilation
...
This resolves a circular dependency:
libardour calls methods from libardour_cp and vice versa.
Since 9bb2f2bb libardour is also calling active() and that method
needs to be forced to use late binding. -- compare to b9bbea7174
2019-09-06 20:35:49 +02:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log
2019-08-03 15:53:18 +02:00
Johannes Mueller
89f39d14f2
Add some options for surfaces to jump in the timeline
...
* ::jump_by_beats()
* request transport to keep rolling after jump
2019-05-18 13:27:49 +02:00
Paul Davis
7db12f6b12
convert codebase to use Temporal for various time types
2017-09-24 12:03:54 -04:00
Paul Davis
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
John Emmas
b9bbea7174
It might not be obvious why... but 'ARDOUR::ControlProtocol::name()' needs to be a virtual function
...
Basically, libardour is calling functions from libardour_cp and vice versa. For example, libardour needs 'ARDOUR::ControlProtocol::name()' whereas ardour_cp needs 'ARDOUR::Route::soloed()' and various others. Ordinarily, this would require each library to get built before the other one! :-(
To get around this (in MSVC at least) one of the libraries must be forced to use late binding (e.g. by declaring its functions as 'virtual'). It looks like this is already being done for most of the other functions from 'ARDOUR::ControlProtocol', so let's do it for this function too...
2017-05-15 14:46:34 +01:00
Paul Davis
7021d02782
don't actually use a method from libardourcp inside libardour; use a PBD::Signal to avoid linker issues
2017-05-12 17:49:09 +01:00
Paul Davis
eb3f50e15c
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.
2017-05-12 14:51:39 +01:00
Paul Davis
0f4530af0d
add new API to ControlProtocol to allow GUI to specify left-most mixer strip
...
Subject To Change. Mileage May Vary. Offer Not Good In All Territories.
2017-02-01 11:46:42 +01:00
Paul Davis
d7a16786fc
change API for BasicUI::goto_start() to use optional roll-after arg
2016-09-27 14:59:29 -05:00
Paul Davis
ac9b5f872d
add method (taken from GTK GUI) to goto_nth_marker() to BasicUI
2016-09-27 14:59:29 -05:00
Paul Davis
40dd604dbc
add correct implementation for cancel all solo to BasicUI
2016-09-27 14:59:29 -05:00
Paul Davis
2047ee527c
restore/extend/simplify ControlProtocol API to allow tracking of selection
2016-07-06 13:39:10 -04:00
Paul Davis
eed3ea5047
remove a bunch of code that will no longer be used
2016-07-06 13:38:13 -04:00
Paul Davis
291aec468f
use session stripable selection API
...
and remove old ControlProtocol signals to talk to GUI etc.
2016-07-04 12:45:53 -04:00
Paul Davis
3eaa6c0389
remove certain ControlProtocol signals related to stripable selection
...
includes change to Mackie support so that strips listen for PropertyChange
on the stripables they represent, no global selection change used anymore.
2016-06-10 13:57:18 -04:00
Paul Davis
08f01085de
remove now-redundant control protocol route-selection signals
2016-05-31 15:30:43 -04:00
Paul Davis
c438ba2b6e
remove no-longer-used TrackSelectionChanged signal from ControlProtocol
2016-05-31 15:30:43 -04:00
Paul Davis
dd57a83793
add Stripable analogs for Route signals and methods in ControlProtocol
...
These will go away once all surfaces have migrated to Stripables
2016-05-31 15:30:42 -04:00
Paul Davis
e0ff70cf86
first vaguely working version using PresentationInfo
...
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
Ben Loftis
a7141e1fc3
Transport_play should not jump back.
...
Typical use of transport controls is to ffwd and rewind, then "play".
This doesn't work well if the Play command always resets to starting position.
2016-01-19 14:00:51 -06:00
Ben Loftis
5493e20c84
Add all_tracks_rec actions
2016-01-19 14:00:03 -06:00
Ben Loftis
c5b93e2a01
track scrolling and zooming
2016-01-18 18:24:14 +01:00
Ben Loftis
27d82af077
add some horz and vert zoom actions; remove some whitespace from the code of the ui-actions, so they are easier to see and maintain
2016-01-18 18:24:14 +01:00
Ben Loftis
16623b1cb3
add more remote transport toggles for touchOSC: midi_panic, toggle_roll, stop_forget, set_X_range, quick snapshots. also add boilerplate for monitor controls, but those are not implemented yet
2016-01-18 18:24:14 +01:00