Paul Davis
12847b0125
remove Session::bbt_time() and use TempoMap::use()->bbt_at() explicitly everywhere
2021-12-14 21:59:33 -07:00
Paul Davis
58796e6b19
fix likely crash in faderport8 support, from calling TempoMap::use() and not TempoMap::fetch()
2021-12-13 21:07:18 -07:00
Marijn Kruisselbrink
0e799357a8
Fix crash in mackie strip code.
...
Strip::notify_property_changed accesses _stripable without verifying
that is not null. However it is possible for this to be null, so
add a null check.
2021-12-13 21:03:38 -07:00
Todd Naugle
d04d25e7c7
Mackie Control: Clean up detection of QCon master display and meter.
...
Only enable the master display and meter modes for Qcon devices if this
surface is in the master position. Extenders don't have master meters
or master displays.
2021-12-13 21:26:45 -06:00
Todd Naugle
d60a5187bd
Mackie Control: Fix detection of QCon Extenders so 2nd LCD is correct
...
Logic to detect an extender has to be based on if this surface object is
the master position. Has master fader is true for all surfaces in this
"device".
2021-12-13 21:25:07 -06:00
Robin Gareus
60be0c27a1
Use updated temporal API 1/2
2021-12-11 14:42:36 +01:00
Paul Davis
fcf0c253ad
control surface changes to follow TempoMap::sample_at() API change
2021-11-17 15:57:54 -07:00
Bruno Vernay
e3836e1162
Typo in code Paramater
2021-10-30 23:02:04 +02:00
Robin Gareus
2066b6b33a
websockets: require Windows7 (with pollfd)
2021-10-13 21:40:39 +02:00
Robin Gareus
2e0a069c51
WebSockets: use v7 tempo-map correctly
2021-10-12 15:32:41 +02:00
Paul Davis
9e763c2672
remove all dangling event-loop-precall code
2021-10-11 17:48:53 -06:00
Paul Davis
9adc336d50
control surfaces: fix BasicUI::jump_by_bars() to use tempo map correctly
2021-10-11 17:48:53 -06:00
Paul Davis
52decdd1b4
push2: prevent crash caused by missing per-thread tempo map ptr
2021-10-09 11:47:13 -06:00
Paul Davis
3475350d7c
push2: session button should be lit
2021-10-09 11:46:53 -06:00
Robin Gareus
ed3d374f47
Fix --no-nls compilation 1/2 -- #8802
...
pbd/i18n.h MUST NEVER be included from header files and always be
the last include. This is because `_` is declared other headers
notably boost and some apple headers.
leading to issues like
../libs/pbd/gettext.h:58:27: error: expected unqualified-id before ‘const’
58 | # define gettext(Msgid) ((const char *) (Msgid))
2021-09-27 16:28:44 +02:00
Robin Gareus
b3fff25d5c
Fix --maschine builds (pure virtual)
2021-08-13 21:53:18 +02:00
Paul Davis
c0425ba70f
canvas: items should not add child bboxes in their ::compute_bounding_box() method, Item::bounding_box() does that
2021-08-13 12:51:37 -06:00
Paul Davis
8bada4b5e1
remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion
...
libtemporal still needs ::bbt_at (superclock_t) fairly often so retain it as a private method, but public
interfaces take either Beats or timepos_t
2021-08-13 12:51:35 -06:00
Paul Davis
3702da5488
fix up osc support after rebase/merge conflicts
2021-08-13 12:51:33 -06:00
Paul Davis
364fffd458
temporal: TempoMap::Changed is now a static member named TempoMap::MapChanged
2021-08-13 12:51:32 -06:00
Paul Davis
c64db47b37
use new libtemporal sample rate mechanism (libs edition)
2021-08-13 12:51:31 -06:00
Paul Davis
bed76798f3
manual fixups after rebase against master (general libs edition)
2021-08-13 12:51:31 -06:00
Paul Davis
11af6253f5
mackie: NOOP: fix whitespace
2021-08-13 12:51:31 -06:00
Paul Davis
b866335d8f
add glib event loop callback to Generic MIDI surface support
2021-08-13 12:51:30 -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
79763893b3
remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr)
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
f4490f54c5
change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
...
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
Paul Davis
60f3985957
replace push2 call to Canvas::Box::pack_start() with Canvas::Box::add() which is equivalent
...
::pack_start() was removed
2021-08-13 12:51:26 -06:00
Paul Davis
210702481b
add required virtual method to Push2Canvas
2021-08-13 12:51:26 -06:00
Paul Davis
9e5354a65e
tweak a minor issue with canvas API
2021-08-13 12:51:26 -06:00
Todd Naugle
bd008fb87c
Mackie Control: Fix logic in timecode display update
...
Old and new strings are compared before sending to keep traffic down. To
ensure that we send all the required characters be sure to init the last
value to characters that are never going to appear in a real string.
Space is a bad choice since it is a valid character. Use NUL instead.
2021-08-10 16:20:36 -05:00
Todd Naugle
4001fc2cff
Mackie Control: Use space as replacement for invaild characters on TC disp
2021-08-10 16:17:11 -05:00
Todd Naugle
563309f6d1
Mackie Control: Fix one off error in timecode display that broke spaces
...
Ignored spaces and allowed character 0x60 which is not valid on the display
2021-08-10 16:16:08 -05:00
Todd Naugle
8cf7204917
Mackie Control: Use selected device's info when building the Keys dialog
...
The device info file allows key names and values to be configured in each
device file. Use that information when building the Functions Keys tab in
the Mackie protocol setup dialog.
2021-08-06 12:18:24 -05:00
Todd Naugle
c1dddb1b25
Mackie Control: Be consistent and take the surfaces lock when iterating.
...
Some places in the code take the lock, others don't. This makes everyone
take the lock.
2021-08-03 16:26:26 -05:00
Todd Naugle
a84543bcc7
Mackie Control: Don't crash when the master is on the right
...
While surfaces are being created it is possible to have surfaces, but
not have a master surface yet. This happens when the config calls
for extenders to the left of the master section. Don't assume that
if we have surfaces, the master surface is available.
2021-08-03 16:26:26 -05:00
Todd Naugle
454b330950
Mackie Control: Hold the surfaces lock while resetting the master_surface
2021-08-03 16:26:26 -05:00
Ben Loftis
193cebc912
US2400: build-fix: need some IFDEFs for Mixbus.
2021-08-03 10:58:30 -05:00
Ben Loftis
521117054e
US2400: Fix order of mixbuses in Flip mode (Mixbus only)
2021-08-03 10:38:19 -05:00
Ben Loftis
398a1efbd5
US2400: Fix send levels from joystick ("surround pan" on mixbuses 11,12) (Mixbus32C only)
2021-08-03 10:38:18 -05:00
Ben Loftis
0b5ab1b570
US2400: Fix direction of pan knob LEDs
2021-08-03 10:38:18 -05:00
Todd Naugle
a22fe3cdc8
Amend 285bb4ac7f: remove incomplete code
2021-07-19 20:32:11 -05:00
Todd Naugle
285bb4ac7f
Mackie Control : Improve debug trace output by skipping meter write output
2021-07-19 12:25:27 -05:00
Todd Naugle
581589f080
Mackie Control: Don't call port write directly since it bypasses active chk
...
This keeps the master fader from sending midi output before everything
is initialized.
2021-07-19 12:24:36 -05:00
Ben Loftis
3114ef4de2
Default_Play_Speed: prep work (libardour)
...
* remove unused variables in session.h
* move default play speed (varispeed(sic)) into fsm
* request_transport_speed should -never- set the default_play_speed
2021-07-03 19:06:02 +02:00
Todd Naugle
45f9b45bff
Mackie Control Surface: Improved support for iCON QCon Pro X
...
Support the second LCD on the Pro X and use it for channel strip labels.
Support the stereo master meters on the Pro X
2021-07-02 16:00:51 -05:00
Todd Naugle
7a5ccdd3c3
Mackie Control Surface: Move meter deflection calc to a function.
2021-07-02 15:56:11 -05:00
Todd Naugle
e94239cc92
Mackie Control Surface: Update the meters even when the transport is stopped
2021-07-02 15:53:20 -05:00