Commit Graph

29109 Commits

Author SHA1 Message Date
54c4d3adc5
Clean up top-level source tree
Collect architecture independent data in 'share' subfolder.
This also matches the install path
2020-02-23 16:21:55 +01:00
96ef1dc0ed
Cleanup cource tree: collect patches 2020-02-23 16:21:50 +01:00
3e77680a57 surfaces transport hotfix: surfaces should query the transport state via BasicUI, when possible 2020-02-23 09:02:25 -06:00
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
8efb642c46 surfaces transport hotfix: actual_speed() is preferred over transport_speed() for current Transport FSM 2020-02-23 09:02:13 -06:00
2945e6ee23 Foldback: Sync nav buttons when a new foldback bus is added 2020-02-22 16:56:44 -06:00
768cd1cb56
Allow to use websocket ctrl-surface from source-tree 2020-02-22 23:51:03 +01:00
7fdc35bb45
Fix Unix compile with older libwebsockets
Debian/Ubuntu still only ship libwebsockets 2.x.
Recent libWS abstracts the poll interface to be
compatible with Windows.
2020-02-22 23:27:08 +01:00
Luciano Iam
d7ef188aea
Prefix events with LWS_ 2020-02-22 23:10:25 +01:00
Luciano Iam
5abce5aae5
Properly initialize IOCondition in events_to_ioc() 2020-02-22 23:10:25 +01:00
Luciano Iam
7f73cfb36e
Properly initialize lws config structs 2020-02-22 23:10:25 +01:00
Luciano Iam
047b05b860
Remove all initializer list usages 2020-02-22 23:10:24 +01:00
Luciano Iam
bb448080b6
Remove locally defined classes 2020-02-22 23:10:24 +01:00
Luciano Iam
d8d70adab8
Replace C++11 lambdas with functors 2020-02-22 23:10:24 +01:00
Luciano Iam
6e499e2cc5
Make code adhere to C++98 (WIP) 2020-02-22 23:10:24 +01:00
Luciano Iam
8db9755d1e
Add websockets surface module 2020-02-22 23:10:24 +01:00
4416530929
Tweak ArdorIcon display-tool & re-order icons
* add option to render a border
* group icons (assume 7x7 grid)
2020-02-22 21:40:35 +01:00
541ea5ccad avoid double-locate call when locating-while-stopped
Session::locate() used TransportFSM::stopped() to determine if realtime stop was required. But this would
return false, since the motion state at that time is WaitingForLocate. So invert the test and use
!TransportFSM::rolling
2020-02-21 15:48:53 -07:00
db3995c559 fix playback glitch : do not adjust file_sample[Type] after read, it is canonical
We told the DR to read from pos+shift, and it increment file_sample[T] appropriately. We should not adjust it. The
only thing that gets adjusted is the sample that will playback (as a result of PlaybackBuffer::increment_read_ptr()
2020-02-21 13:19:31 -07:00
8e8d2f86a8 centralize determination of "read-audio-data-in-reverse" and fix seek "shift" offset
There is still a bug related to "shift" that causes a playback discontinuity
2020-02-21 11:54:08 -07:00
f0316430c6 make "reversing" back into a DirectionState and prohibit speed changes while reversing 2020-02-21 11:54:08 -07:00
2fb260e6e8
Update Control flags of Aux Sends
This fixes old session-state of sessions saved after
6.0-pre0-3039-g93180ceea9 and before 6.0-pre0-3459-g587fc50059.
It's mainly relevant for Mixbus6.0
2020-02-20 23:11:04 +01:00
587fc50059
Fix Inline-control visibility state
This fixes an issue when copy/pasting plugins or aux-sends from
one track to another. After copying the processor, the state
is copied, however the Controllable state did save
the InlineControl flag, so this as lost.

(amend 93180ceea)
2020-02-20 23:06:55 +01:00
57598acbcf remove unused members 2020-02-20 12:53:57 -07:00
2398f6127f fix up apparent design thinkos in US2400 key binding handler 2020-02-20 12:53:57 -07:00
444ef73c7d fix up apparent design thinkos in Mackie key binding handler 2020-02-20 12:53:57 -07:00
938e65f12a use MIXBUS approach to User button for Faderport (it's just a button, not a modifier 2020-02-20 12:53:57 -07:00
b5f2aed234 Faderport(1): fix pan_azimuth direction by setting Rotary flag. 2020-02-20 12:25:51 -06:00
ef5fddd8b5 MCU: fix pan_azimuth direction by setting Rotary flag. 2020-02-20 12:25:51 -06:00
4f5076a81a controllable::{get_set}_interface() are convenience wrappers for funcs that need the Rotary flag set 2020-02-20 12:25:51 -06:00
43bed39d30
Reset MIDI-control when a given ctrl is not available
This fixes an issue with "/route/eq/freq/0 S1":
When a newly select strip that does not have a EQ
(e.g. mixbus or master), the control from the previously
selected strip is used.  -- Reported by tavasti on IRC.
2020-02-20 19:13:58 +01:00
1d5be40801
Fix copy/edit in c509c94824 2020-02-20 19:10:28 +01:00
4dc74813ef avoid setting midnam-model-name in GUI properties when there are no device modes for that model 2020-02-20 00:26:29 -07:00
4b10beec08 change transport API, session API, transportFSM API to move reverse management and motion state (partially) into TFSM 2020-02-20 00:25:25 -07:00
efd6a856f8 add comment 2020-02-20 00:22:17 -07:00
c2c41b38d0 when seeking in disk reader, adjust start of read (if possible) to allow some reverse internal seek allowance 2020-02-20 00:22:09 -07:00
4037162963 fix test to decide if we can skip disk buffer refill because we're close enough (read direction must match) 2020-02-20 00:21:31 -07:00
e468e68c23 variable name change (ffa ... 2nd f was "frame" => fsa ... s is "sample") 2020-02-20 00:20:45 -07:00
243b3f0983 improve comments 2020-02-20 00:19:41 -07:00
1e9af51f36 correctly track is disk read (audio) should be forwards/backwards, and what was done last time we read from disk 2020-02-20 00:19:22 -07:00
7ca068f8d5 change variable name to be more meaningful/indicative 2020-02-20 00:15:32 -07:00
53139a93d5 remove debug output 2020-02-20 00:15:10 -07:00
ca3714bccf NOOP: fix brace/newline use 2020-02-20 00:09:32 -07:00
d1b335b36e expose PlaybackBuffer::reservation and make the member const 2020-02-19 23:10:13 -07:00
58123c969b remove unused method 2020-02-19 23:09:51 -07:00
998b88b521 when inside Route::set_state() and calling set_name(), call the virtual method, rather than Route::set_name()
Without this, nothing in Track::set_name() is called, which means that tracks created from templates
do not get their name set appropriately
2020-02-19 19:21:11 -07:00
585b61e58b fix paren/newline formatting 2020-02-19 19:21:11 -07:00
89bd6cafa0
Force Disk-Reader channel count to match Disk-Writer I/O.
This handles some special cases where a plugin is added after
the disk-writer but before the disk-reader.

The plugin may add/remove ports (e.g. an instrument: MIDI to audio,
or some stereo to mono processors). However we need to ensure
that any data that is recorded will be played back.

This is a new take replacing b2bc934e2.
2020-02-20 01:57:14 +01:00
c8f1146124
Revert "fix behavior of DiskReader when moved after an instrument"
This reverts commit b2bc934e21.

The commit does causes issues when a user manually removes channels:
The disk-reader's ::can_support_io_configuration() at first ignores
the user's request, forcing the output channel count to match the
DR's current channel config.

However, when configuring the DiskReader after that, channels is updated
to match the new input-count.

Even though the DR itself only plays back using the confgured I/O,
all processors after it still use the old channel count.

Only a later, second re-configuration step will apply the actual removal
to plugins and port.

PS. the original commit was mainly intended to fix a crash when
adding an instrument plugin *between* disk-writer and disk-reader
on a MIDI track.
2020-02-20 01:57:11 +01:00
4337e2b054
NO-OP: remove old comment and debug code 2020-02-20 01:57:07 +01:00