13
0
Commit Graph

31864 Commits

Author SHA1 Message Date
1c47f0adbe use 4 semitone steps whenever rewind/ffwd is adjusting in the range below 1 octave slower 2021-05-08 09:43:04 -06:00
57b3df8b22 copy over (boo!) transport control changes to BasicUI (control surfaces) 2021-05-08 09:20:21 -06:00
6b98e56da2 const-ification tweak 2021-05-08 09:19:50 -06:00
6ca18bfcfd tweak gradual rewind/ffwd action to move in 4 semitone steps once the speed is below "one octave down"
This avoids taking forever to get to -40st, where we reverse direction
2021-05-08 09:13:32 -06:00
9d7ded8bfe allow rewind/ffwd to incrementally move between speeds of zero and 1/-1
It's a little slow in getting all the way to zero, so this may need some tweaking
2021-05-08 08:16:28 -06:00
d88e0c6673
Fix windows builds (declare class binding)
see also 2ff8f5a5de
2021-05-08 14:38:43 +02:00
08092d22b4
Prevent invalid frame/child size allocation 2021-05-08 14:36:43 +02:00
ce1e05fc3d
Update DnD min. movement threshold -- #8686
Previously x-axis threshold was in samples. This is
useless unless zoomed in to the max. So in most cases
the first-move was always in x-direction, making constrained
y-axis drags near impossible.

Furthermore the threshold for copy-drags was increased
as per #8686
2021-05-08 04:28:36 +02:00
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
Carlo Stemberger
67cce59f4e
Avoid regex convention in script documentation 2021-05-08 00:35:31 +02:00
Edgar Aichinger
a103a89f4f
also install desktop icon files 2021-05-08 00:27:33 +02:00
Edgar Aichinger
433d7dc8a0
freedesktop: install (not only build) desktop, mimeinfo and appdata files 2021-05-08 00:27:33 +02:00
Tiefseetauchner
720a7eed77 Update compile.sh
cd in line 4 would not work if path has blank as it would have two arguments
./compile.sh: line 4: cd: too many arguments
2021-05-07 16:25:21 -06:00
e2a28ec776 avoid playhead jumping while we locate from a control surface 2021-05-07 16:24:53 -06:00
b0d4f77d92
Optimize RegionList redisplay for batch changes 2021-05-07 23:29:25 +02:00
f6c011cb65
Remove old RegionPropertyChanged signal (3/3) 2021-05-07 23:29:25 +02:00
283cade057
Update GUI Region[s]PropertyChanged signal handlers (2/3) 2021-05-07 23:29:25 +02:00
2ff8f5a5de
Consolidate RegionsPropertyChanged signal emission (1/3)
This prepares to combine multiple RegionPropertyChanged signals
(potentially thousands) into a single signal.
2021-05-07 23:29:25 +02:00
5af480083c
MIDI List Editor, subscribe to region's signal (not all regions) 2021-05-07 23:29:25 +02:00
bb7f919a07 fix import file Lua script to follow new API to PublicEditor::do_import() 2021-05-07 14:58:16 -06:00
3e47057609 import process now allows optional import of MIDI markers/cues 2021-05-07 14:58:16 -06:00
f689e9ecab Evoral: add methods to SMF to load and access markers/cues in SMF files 2021-05-07 14:58:16 -06:00
4db1c02bd1
Fix crashes when rippling many regions
Region positions were updated in the GUI, before the playlist
was catching up.

The butler thread reads a region using the region's new position,
but the playlist's old range.


Thread 1 (GUI)
```
#22 ARDOUR::Playlist::notify_layering_changed()
#26 ARDOUR::AudioPlaylist::region_changed
#27 ARDOUR::Playlist::region_changed_proxy
#35 ARDOUR::Region::send_change
#36 ARDOUR::Region::set_position
#37 RegionRippleDrag::remove_unselected_from_views
#38 RegionRippleDrag::finished
```

LayeringChanged() also triggers DiskIOProcessor::playlist_modified
which schedules a pending-override and summons the butler.
Note that when moving only a few regions the butler starts after all
updates have been completed.

Butler thread:
```
#4  ARDOUR::AudioRegion::read_at
#5  ARDOUR::AudioPlaylist::read
#6  ARDOUR::DiskReader::audio_read
#7  ARDOUR::DiskReader::overwrite_existing_audio
#8  ARDOUR::DiskReader::overwrite_existing_buffers
#9  ARDOUR::Track::overwrite_existing_buffers
#10 ARDOUR::Session::non_realtime_overwrite
```

Region read fails:
```
 libs/ardour/audioregion.cc:503  assert (position >= _position);
(gdb) p position
$1 = 1312000
(gdb) p _position
$2 = {<PBD::PropertyTemplate<long>> = {_have_old = true,
    _current = 1336000, _old = 1312000} }
```
2021-05-07 21:56:09 +02:00
11719144b3
Update split-benchmark script with new transport API 2021-05-07 21:56:09 +02:00
49e1380417
Add missing Lua binding (see also 48e5607f7c) 2021-05-07 21:56:09 +02:00
d2ba90b2c1 Fallback to the default export path when the saved export path is not found.
Previously we would end up with an export path of top level session
directory.
2021-05-07 12:25:42 -05:00
9e6b85f330 Don't save a leading slash when storing a relative export path.
It is not needed in the relative case and causes issues when taking
sessions between platforms.

On windows, the default path would be "\export". When that is used
on linux the resulting fullpath would end up as

/your/session/path/\export

which is then not found on the file system.

This change is consistent with how relative paths are normally written and
does cure the default path when moved across platforms.

It does not solve the larger issue of mixed directory separators.
A relative path of "export\myMixV1" will still fail when moving between
platforms.
2021-05-07 12:25:42 -05:00
a18d9b9cb4
Update Russian translation 2021-05-07 05:38:57 +02:00
98f5224d4c
Fix incorrect port lists due to custom sort
Previously the following were treated as equal
 "MIDI_foo" == "MIDI bar"
So std::map<> PortManager::_ports and PortEngineSharedImpl:_ports
could only have either. This resulted in missing ports
and missing calls to existing ports in cycle_start().

This mainly affected MIDI tracks with imported files, since there
is "MIDI Clock in", and imported files result in tracks
"MIDI_file-name".

This issue was introduced in 6.6-200-g60ff3ef764
2021-05-07 04:24:32 +02:00
bfd52fd94d TransportFSM: do not enter Reversing state too early
We do need to know that a reversal is intended before we do a locate, but we should
not enter Reversing before the declick is finished. So instead, we add a new
member, _reverse_after_declick to keep track, and enter Reversing just before
we start the locate
2021-05-06 19:40:08 -06:00
97167ed927
Fix harvid bind address on BigSur 2021-05-07 01:45:00 +02:00
7dc21fdc96
PortList debug methods (to be called from gdb) 2021-05-07 01:43:19 +02:00
ade679f162 move <poll.h> inside an appropriate #ifdef, since it does not exist on Windows 2021-05-06 14:45:56 -06:00
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
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
1173262503
Fix insert-position when adding route from template 2021-05-06 21:21:47 +02:00
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
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
29c89cf362 fix tiny typo in a tooltip 2021-05-06 11:42:50 -06:00
05d8545655 preference item for auto-return-after-rewind-ffwd 2021-05-06 11:40:20 -06:00
c47f5eb951 pay attention to auto-return-after-rewind-ffwd 2021-05-06 11:40:20 -06:00
3bbae4ec62 add new config parameter for auto-return after rewind/ffwd (set to false by default) 2021-05-06 11:40:20 -06:00
fd9e9df742
Fix optimized build, amend 5957e14259 2021-05-06 15:50:44 +02:00
fc54ab48ec
Remove unused function, fix optimized builds 2021-05-06 15:27:26 +02:00
b75118ee13 a more robust value check for 8cb09ab2cf modification 2021-05-05 18:48:53 -06:00
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
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
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
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