Commit graph

31732 commits

Author SHA1 Message Date
Paul Davis
ade679f162 move <poll.h> inside an appropriate #ifdef, since it does not exist on Windows 2021-05-06 14:45:56 -06:00
Paul Davis
3a7ea6b217 use poll(2) rather than select(2) for reading output from an exec'ed process
select(2) can only handle file descriptors up to 1024, and there are fairly easy to reproduce
cases where the file descriptor used here is larger than that.
2021-05-06 14:41:28 -06:00
Robin Gareus
221b272f8a
Fix loading old route-templates
This follows 983c577945, don't allow unlinked
pannable to override main panners.
2021-05-06 21:21:47 +02:00
Robin Gareus
1173262503
Fix insert-position when adding route from template 2021-05-06 21:21:47 +02:00
Robin Gareus
31b709b7ff
NO-OP: rename variable, avoid ambiguities
Portmanager uses "ports" as local variable in various places
(usually vector<string>). While the compiler is fine with that,
it is confusing when debugging or reading code.
2021-05-06 21:21:47 +02:00
Paul Davis
e570a290c4 add a few casts to avoid compiler warnings regarding size_type vs int
The class members are int because they need to hold negative (out-of-bound) values as sentinels
2021-05-06 12:03:27 -06:00
Paul Davis
29c89cf362 fix tiny typo in a tooltip 2021-05-06 11:42:50 -06:00
Paul Davis
05d8545655 preference item for auto-return-after-rewind-ffwd 2021-05-06 11:40:20 -06:00
Paul Davis
c47f5eb951 pay attention to auto-return-after-rewind-ffwd 2021-05-06 11:40:20 -06:00
Paul Davis
3bbae4ec62 add new config parameter for auto-return after rewind/ffwd (set to false by default) 2021-05-06 11:40:20 -06:00
Robin Gareus
fd9e9df742
Fix optimized build, amend 5957e14259 2021-05-06 15:50:44 +02:00
Robin Gareus
fc54ab48ec
Remove unused function, fix optimized builds 2021-05-06 15:27:26 +02:00
Paul Davis
b75118ee13 a more robust value check for 8cb09ab2cf modification 2021-05-05 18:48:53 -06:00
Paul Davis
8cb09ab2cf fix for region-drag to the dropzone (#8672)
The DraggingView's time_axis_view (index) is set to the size of _time_axis_views
in ::motion() near line 1149. This makes it invalid as index into the vector.
2021-05-05 18:33:44 -06:00
Robin Gareus
9e77d9dd50
Fix packaging debug builds on Catalina 2021-05-06 01:24:03 +02:00
John Emmas
a222292e68 Emulate exp2f() for older MS compilers where it wasn't available 2021-05-05 17:50:41 +01: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
Robin Gareus
5c579ed52d
Remove unused #include<> (1/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Robin Gareus
3cd7c3e206
Reduce default max transport speed
Since Ardour 6, a transport speed of 200% will also double
DSP load. Under the hood Ardour rolls twice the distance and
the output is downsampled.

Vari-speed > +/-200% will likely cause dropouts with many
sessions on most systems, users should explicitly select it.
2021-05-05 17:30:48 +02:00
Robin Gareus
161b36578a
Change default GUI shuttle ctrl behavior
This facilitates vari-speed recording, and also allows for
persistent speed changes (which now work correctly).
2021-05-05 17:13:41 +02:00
Robin Gareus
f72c2b93c5
Fix video-monitor display when seeking
see also 25c0bd9274

play, locate, play resulted in the video-monitor showing
the target frame shortly, and play a few frames from the old
location.

This was due to locate happening async. Click to locate
directly sends the new location:

```
VideoTimeLine::manual_seek_video_monitor
ARDOUR_UI::update_transport_clocks
CursorDrag::fake_locate
CursorDrag::start_grab
DragManager::start_grab

```

CursorDrag::finished unset _dragging_playhead before the
call to resuest_locate(). Meanwhile playback continues.
2021-05-05 17:11:24 +02:00
Paul Davis
9f4189c031 copy over changes to BasicUI::button_varispeed() to ARDOUR_UI::button_varispeed() 2021-05-04 23:14:48 -06: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
Paul Davis
f792735672 remove double-tooltip setting (copy-paste error) for a preferences item 2021-05-04 20:54:38 -06:00
Paul Davis
7fef16af6f add rewind/ffwd option to transport section of Preferences 2021-05-04 20:52:21 -06:00
Paul Davis
1757cfb8ef use rewind/ffwd option to alter behavior of control surface rewind/ffwd buttons
This does not affect GUI equivalents (yet)
2021-05-04 20:52:01 -06:00
Paul Davis
8113118b89 add option to control rewind/ffwd behavior 2021-05-04 20:51:11 -06:00
Paul Davis
eba96e72cd add back a DEBUG_TRACE statement, this time in the correct location 2021-05-04 18:55:09 -06:00
Paul Davis
7381b8a8c6 any varispeed action that doesn't also set the default speed cancels auto-return 2021-05-04 18:54:40 -06:00
Paul Davis
4f13ec69c1 expose TransportFSM default_speed 2021-05-04 18:53:57 -06:00
Paul Davis
9905f6e0a9 copy BasicUI::button_varispeed() into ARDOUR_UI, and use in all the right places
We really must find a way to share code between BasicUI and ARDOUR_UI
2021-05-04 16:56:19 -06:00
Paul Davis
b01632356d fix cast warning 2021-05-04 16:55:33 -06:00
Paul Davis
cd4aaa808e use button_varispeed() in BasicUI::rewind() and BasicUI::ffwd() 2021-05-04 16:38:28 -06:00
Paul Davis
009e971bfb correct the implementation of BasicUI::button_varispeed() to provide incremental speed shifting (by semitones) in both directions 2021-05-04 16:38:02 -06:00
Paul Davis
fbd1221833 move FaderPort8 method "button_varispeed()" into BasicUI for more general use 2021-05-04 16:10:24 -06:00
Paul Davis
981fc6b3cd transition-to-roll should work whether rolling or stopped 2021-05-04 15:57:03 -06:00
Paul Davis
8c427279d9 transition-to-roll should not set the default transport speed 2021-05-04 15:37:04 -06:00
Paul Davis
1f18b4905d remove assert() that is triggered via multiple selection in region list (now possible for some time) 2021-05-04 11:55:48 -06:00
Paul Davis
0aef128207 fix assumption that during dragging, a DraggingView's time_axis_view field is always a positive integer within range 2021-05-04 11:55:23 -06:00
Paul Davis
5bfc507cb3 fix out-of-bounds access to a vector.
If the time axis view is not found, i will equal N, and _views[i] is out of bounds
2021-05-04 11:54:50 -06:00
Paul Davis
66aea6559b remove redundant (duplicate) call to set_track_monitor_input_state() 2021-05-04 11:30:38 -06:00
Paul Davis
30c03c0c45 remove commented debug output 2021-05-04 11:30:38 -06:00
Robin Gareus
9448973163
Add Lua bindings to modify region gain curve 2021-05-04 18:18:04 +02:00
Robin Gareus
56d6a9b9f4
Remove executable flag from device files 2021-05-04 02:42:43 +02:00
Paul Davis
4b87c3a6b1 complete removal of Session::_transport_speed, _default_transport_speed and takeover of transport state mgmt by TransportFSM
The TransportFSM is now responsible for deciding what to do at all transport state transitions. The Session (via the TransportAPI) merely
provides mechanism (locate, start, stop, set_speed). Default and most recent speed requests are managed by the TransportFSM too
2021-05-03 17:40:41 -06:00
Paul Davis
3d10f44b30 remove PostTransportRoll enum.
The decision to roll or not, and the handling of the decision, is the responsibility of the TransportFSM. No enum required
2021-05-03 17:40:41 -06:00
Paul Davis
79a823d2cb use correct condition in TransportFSM::transport_speed()
Any state that it not Rolling should count as stopped for this purpose
2021-05-03 17:40:41 -06:00
Paul Davis
8e868fc743 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) (surfaces edition) 2021-05-03 17:40:41 -06:00
Paul Davis
ac53a9bbf8 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) 2021-05-03 17:40:41 -06:00
Paul Davis
c7c5379fac remove "flush" argument from Session and TransportFSM locate APIs (it does nothing) 2021-05-03 17:40:41 -06:00