David Robillard
1559829e24
Factor out SessionController from BasicUI
...
Towards sharing this code with ARDOUR_UI.
2021-06-17 11:02:08 -04:00
David Robillard
8998efa8c8
Move RecordState to ardour/types.h
...
This allows it to be used without including session.h. Using this pointless
cast syntax to make it easy to mechanically convert them all when we can
finally use strong enums.
2021-06-17 11:01:05 -04:00
David Robillard
ab17e1e019
Remove some unnecessary Session dependency in Push2 surface
2021-06-17 10:57:29 -04:00
David Robillard
56fe5b47ae
Rename ControlProtocol::session to ControlProtocol::_session
...
To match ARDOUR_UI, towards finally sharing code here.
2021-06-17 10:57:07 -04:00
David Robillard
927c7328cc
Make some calculations const
2021-06-17 10:56:05 -04:00
Robin Gareus
e0a6aba28d
Ignore saved port-name when loading ctrl-surface state
...
In some cases old and/or conflicting port names were saved
with the session (e.g. "Faderport" for FP1,8). Loading old sessions
then merges this state into the config, which could lead to
port-registration failure when the surfaces was enabled.
2021-04-17 02:07:09 +02:00
Robin Gareus
acfa04d700
Update Ctrl-surface MIDI port list when ports change
...
This is a better variant of bbb6851468 , directly using
the GUI context without indirection.
2021-02-04 06:19:37 +01:00
Robin Gareus
bbb6851468
Subscribe to pretty-port name changes (surfaces)
2021-01-18 03:18:20 +01:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log
2019-08-03 15:53:18 +02:00
Paul Davis
6e419a961e
use boost::shared_ptr<> to manage Button/Pad lifetimes in Push2 code
2018-09-02 13:23:57 -04:00
Robin Gareus
9f30d14906
P2: Fix check if ports exist
2018-08-30 22:28:31 +02:00
Paul Davis
b9c6ffac21
fix header order and space alignment
2017-09-24 12:57:27 -04: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
Paul Davis
483ad807ce
fix crashing thinko in push2 code
2017-09-08 18:36:26 -04:00
Robin Gareus
2d60a69c2d
Consolidate ctrl surface code
2017-08-05 01:28:11 +02:00
Robin Gareus
b5e0b5b09f
PortManager::unregister_port() must be called with process lock
...
This fixes "Failed to register <surface> port" when re-loading a session.
2017-07-28 20:15:15 +02:00
Robin Gareus
fde0e293a3
Remove unused "mark" parameter from stop_touch() API
2017-07-24 01:59:18 +02:00
Robin Gareus
601c317d70
Clean up library inheritance (colors.h, utils.h)
...
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02: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
Tim Mayberry
bd3965e278
Use XMLNode::get/set_property in Push2 surface
...
Fix push2 property names to use hyphen word separator.
2017-04-19 09:36:54 +10:00
Paul Davis
8d30580450
attempt to fix windows failed build by including pthread.h to get DEBUG_THREAD_SELF correctly defined
2016-09-30 12:52:07 -04:00
Paul Davis
7701207123
push2:small logic fix for destructor, mostly to ensure that the track_mix layout is destroyed
...
Otherwise it is still connected to the ControlProtocol::StripableSelectionChanged signal, even though the
event loop specified in the connection has been destroyed.
2016-09-30 11:07:05 -05:00
Paul Davis
1b830f2604
reorganize push 2 code and logic to better handle device arrival after program startup
...
Note: we do not handle device departure correctly yet, mostly because the shadow (pad) port has a retained
reference somewhere
2016-09-30 11:23:01 -04:00
Paul Davis
1aab360b7d
remove unnecessary method
2016-09-28 17:23:52 -04:00
Paul Davis
67e415e14c
make Ben's cool range select hack work with Push 2
2016-09-28 11:28:45 -05:00
Paul Davis
6c4627b1b7
fix for push2 code on Windows (no random())
2016-09-28 10:51:01 -05:00
Paul Davis
b6e62c6654
move mode/scale/key definitions out of push2 code and into libardour; Aeolian is the same as Minor
2016-09-28 10:47:17 -05:00
Paul Davis
3a7cf72752
push2: tweak layout APIs etc.
2016-09-27 14:59:32 -05:00
Paul Davis
303358973f
push2: improve logic of ::set_current_layout() to allow reset of same layout
2016-09-27 14:59:32 -05:00
Paul Davis
0006f28511
push2: don't illuminate a button we do not use
2016-09-27 14:59:32 -05:00
Paul Davis
5e6249b7b1
push2: null handle on failed open
2016-09-27 14:59:32 -05:00
Paul Davis
33015a7173
push2: many improvements to track mix and mix layouts
...
Including meters and clocks
2016-09-27 14:59:32 -05:00
Paul Davis
7a0e2ceec0
first pass (incomplete) at canvas meters (in push2 context)
2016-09-27 14:59:32 -05:00
Paul Davis
879b09d920
stop crashes from out-of-range values
2016-09-27 14:59:32 -05:00
Paul Davis
7594e7644a
vpot above metronome button controls click gain; master gain knob now works correctly
2016-09-27 14:59:32 -05:00
Paul Davis
6d5878a926
leave a comment about port reconnection
2016-09-27 14:59:32 -05:00
Paul Davis
0aaf2d1f34
clear filtered note map when entered drum mode
2016-09-27 14:59:32 -05:00
Paul Davis
ae01ac2384
update pad colors when selected track colors chane
2016-09-27 14:59:32 -05:00
Paul Davis
a9a3b71807
change handling of MIDI sysex incoming to be a little more efficient
2016-09-27 14:59:32 -05:00
Paul Davis
44c0ea2095
fix assignment of palette colors by using white-balance = 126; also use ArdourCanvas color macros
2016-09-27 14:59:32 -05:00
Paul Davis
3aa0676f70
push2: substantial improvements to track mix mode, and a few other details
2016-09-27 14:59:31 -05:00
Paul Davis
f12150a1ed
push2: always use a contrasting color when flashing played pads
2016-09-27 14:59:31 -05:00
Paul Davis
cb340bf190
push2: when playing pads, flash all pad LEDs for the same note number for the pressed pad
2016-09-27 14:59:31 -05:00
Paul Davis
0add64d4ab
push2: fix color map store/lookup for rgba<=>color index mapping
2016-09-27 14:59:31 -05:00
Paul Davis
9e1c7ccaf8
push2: don't send ScaleChanged unless something did actually change
2016-09-27 14:59:31 -05:00
Paul Davis
33713d6f68
push2: reset pad colors when necessary
2016-09-27 14:59:31 -05:00
Paul Davis
a4cd0d7dae
push2: set and use selected track color for root notes on pads
2016-09-27 14:59:31 -05:00
Paul Davis
06683b1bda
header file now included in push2.h
2016-09-27 14:59:31 -05:00
Paul Davis
6f2ac5d6ad
push2: various changes in support of menus and scale mode
2016-09-27 14:59:31 -05:00