David Robillard
0dc7cbba14
Add BasicUI::master_out() and BasicUI::monitor_out()
...
Towards removing the direct use of Session by surfaces.
2021-09-17 16:07:26 -04:00
David Robillard
799008e4d7
Add BasicUI::record_status()
...
Towards removing the direct use of Session by surfaces.
2021-09-17 16:00:24 -04:00
David Robillard
1f17d0834c
Add BasicUI::config()
...
Towards removing the direct use of Session by surfaces.
2021-09-17 15:59:13 -04:00
David Robillard
850bd44702
Add BasicUI::engine_sample_time()
...
Towards removing the direct use of Session by surfaces.
2021-09-17 15:58:53 -04:00
David Robillard
36789f080c
Add BasicUI::make_port_name_non_relative()
...
Towards removing the direct use of Session by surfaces.
2021-09-17 15:51:55 -04:00
David Robillard
ece7d18baf
Replace direct use of Session::midi_panic() in surfaces
2021-09-17 15:15:52 -04:00
David Robillard
3318f4e54c
Replace direct use of Session::transport_sample() in surfaces
2021-09-17 15:15:11 -04:00
David Robillard
666b3ba920
Move RecordState to ardour/types.h
...
This allows it to be used without including session.h.
2021-09-17 14:49:44 -04:00
David Robillard
1a5ffc4c8b
Factor out ControlProtocol::get_session()
2021-09-17 14:31:34 -04:00
David Robillard
6dfb04c4da
Rename ControlProtocol::session to ControlProtocol::_session
...
To match ARDOUR_UI, which this is something of a long lost base class of (and
hopefully in the future a literal base class of).
2021-09-17 14:18:46 -04:00
David Robillard
3dad396627
Factor out duplicated MidiByteArray
2021-09-17 13:53:09 -04:00
Paul Davis
11af6253f5
mackie: NOOP: fix whitespace
2021-08-13 12:51:31 -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
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
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
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
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
Todd Naugle
41ac0cb753
Mackie Control Surface: Correctly handle the Monitor section being removed.
...
Adding a Monitor section updated the surface but removing one did not.
2021-07-02 15:51:53 -05:00
Todd Naugle
c63918ec68
Clear Mackie Control surfaces once connected.
...
This gets the surface in a known state. Otherwise a previous application
or run of ardour may have left LEDs on that are not being used.
2021-07-02 15:43:37 -05:00
Robin Gareus
b35a8f6626
Fix Wsign-compare, consistently use microseconds_t
2021-06-29 02:04:02 +02:00
Paul Davis
b20a541d7e
change PBD::microseconds_t to a signed type and check for -1 in TimingStats::update
...
This may help a Windows issue with the return value of QueryPerformanceCounter
2021-06-28 14:47:48 -06:00
Robin Gareus
b58dfc7f0f
Resolve microseconds_t ambiguity 1/2
...
This resolves a PBD vs ARDOUR namespace error for some compilers:
```
error: reference to 'microseconds_t' is ambiguous
libs/pbd/pbd/microseconds.h:29:19: error: candidates are: typedef uint64_t PBD::microseconds_t
libs/ardour/ardour/types.h:81:29: error: typedef PBD::microseconds_t ARDOUR::microseconds_t
```
2021-06-27 17:33:05 +02:00
Paul Davis
9cbaa31c7e
libs fix for get_microseconds() move to libpbd
2021-06-26 18:27:39 -06:00
Todd Naugle
3a3fcd0d2d
Don't crash if master fader is not avaliable.
...
If the wrong device profile is selected (ex Xtouch One) but another device
is connected (Xtouch), it is possible to have a master fader on the
device, but not in the code. This would then cause a crash when the
master fader was touched.
This just protects from a wrong configuration.
2021-05-13 12:08:09 -05:00
Paul Davis
0fc50b9bf2
Mackie Control: set select state correctly during initial setup
2021-05-11 15:55:04 -06:00
Todd Naugle
4d815554dd
Various Control Surfaces: Fix one off in calculation of fader position
...
MIDI pitch bend holds 14 bits (16384) which gives values of 0 to 16383.
2021-05-07 18:02:44 -05:00
Robin Gareus
5957e14259
Remove unused #include<> (2/2)
...
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:57:16 +02:00
Paul Davis
273049a5a1
Mackie Control: if master surface has a jog wheel *and* a scrub button, button toggles between scroll and shuttle behavior
2021-05-04 21:30:22 -06: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
c212909282
Ctrl-surface: do not name single-channel bundle ports
...
Follow Session::setup_bundles() lead for single channel
MIDI bundles. This cleans-up the port-matrix display and
removes redundant names. The underlying engine port-name
is not of interest to the user.
2021-04-17 00:43:20 +02:00
John Emmas
d2cb383965
MSVC changes to support the new code modules (Tabbable API stuff)
2021-02-24 14:32:23 +00: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
72736289c8
NO-OP: rename API rename
...
CP selection API is now implemented as functions, not signals.
2020-10-18 14:47:05 +02:00
John Emmas
02473f058c
Add/remove source(s) in our MSVC project (ardour_mackie)
2020-04-08 11:34:54 +01:00
Paul Davis
0a8b670bd0
yet another attempted fix for older gcc/mingw
2020-04-07 18:47:51 -06:00
Paul Davis
0c859316a3
another attempted fix for older gcc/mingw
2020-04-07 18:44:40 -06:00
Paul Davis
5d2bacd238
do not initialize shared_ptr<Subview> with 0
2020-04-07 18:37:18 -06:00
Paul Davis
3f30a0ad39
more code rearrangement ... old gcc/mingw does not allow Enum::Value
2020-04-07 18:32:45 -06:00