1 * implement handle_port_inactive properly
3 * remappable buttons (OSC or Surfax?)
4 * 7/1 configurable to 8
5 * need an object that can encapsulate different port types, ie BCF vs MCU. Not at the surface level.
6 * finish button implementations.
7 * concurrency for bank switching? And make sure "old" events aren't sent to "new" faders
9 * removal of a route results in a strip that isn't dead, but doesn't have any effect on the session
10 * use i18n. see string_compose
14 * if mackie wheel moves too fast, it's ignored.
15 * gain/panner display in second line
16 * metering on second line
17 * per-strip signal led
19 * Zoom buttons, from Jean-Martin Barbut. In fact I'm a bit desappointed with those functions, because I was used
20 to use the 4 "N-E-S-W" buttons to zoom in and out with horizontal
21 buttons and zoom in/out on track height with vertical buttons. That is
22 with the zoom button in. with the zoom button off, it selects tracks
23 with vertical buttons and selects regions with horizontal buttons. This
24 was quite useful. The fact that the zoom button switches the wheel to
25 zoom is fine, but it would be great to also have the track/region
26 selection and the track height available from those buttons. I.e : you
27 select a track with the vertical arrows and you increase/decrease the
28 eight of the track with the zoom btn on. This combined with the region
29 selection allows to zoom in a region (vertical and horizontal zoom) very
35 * how long can UI signal callbacks take to execute? What happens if they block?
36 where ENSURE_CORRECT_THREAD is a macro that is modelled on ENSURE_GUI_THREAD
37 if the handler is not called in the "correct thread", it will use a pseudo-RT-safe-enough technique to get the correct thread to recall "handler" later on, and return.
38 * alsa/sequencer ports unstable. possibly problems with use of ::poll
39 * use glib::Timer instead of mine. Actually don't because it's not very useable.
40 * crash when mmc port set to mcu?
41 * remove commented couts
42 * Perhaps MackieControlProtocol shouldn't implement MackieButtonHandler
43 * Need a HostAdapter class to encapsulate ardour calls
44 * talk to route plugins
45 * check for excessiveness (ie too many events making other subsystems work too hard)
47 * Generic surface code to common location
48 * bulk remote id changes cause too many surface updates. use Config->remote_model.
49 * which bank switching - overlap or dead faders? Option?
50 * signals for buttons?
51 * MackieControlProtocol in namespace Mackie?
52 * power-cycling of surface. fd_midiport doesn't close.
53 * mix busses and/or a "bus-only" bank/mode
54 * what about surfaces like Mackie C4 and BCR2000?
59 * maybe use current snap state for jog wheel and ffwd/rew
60 * Some indication on the UI of currently bank-switched-in routes?
61 Useful for surfaces that don't have a scribble strip.
65 * when using alsa/sequencer, some midi events intended for mcu port end up being
67 * MIDI::Port::type() returns _type, which is undefined. It might be in the descriptor
68 * auditioner doesn't connect to master 1 and master 2 - it loses the spaces.