13
0
Commit Graph

31930 Commits

Author SHA1 Message Date
82d502f67a avoid crash in RegionView constructors, caused by accessing _region too early 2021-05-14 18:37:50 -06:00
5c9626648c extra alpha modifier for use with region markers 2021-05-14 18:37:50 -06:00
738cdcc55c tweaks to ArdourMarker to enable it to be used for RegionCue markers 2021-05-14 18:37:50 -06:00
d1ee033dd2 change XML node names for cue markers to be capitalized 2021-05-14 18:37:50 -06:00
7cf9e3d89d remove Region::add_cue_marker() (force use of Source API instead) 2021-05-14 18:37:50 -06:00
6dd516bc45 add non-const SourceList accessor to Region 2021-05-14 18:37:50 -06:00
e3b1566534 add serialization for source cue markers 2021-05-14 18:37:50 -06:00
5ab6807710 NOOP: whitespace adjustment 2021-05-14 18:37:50 -06:00
a1c68460be add basic/initial code for action to add a region marker 2021-05-14 18:37:50 -06:00
2791be7f2a add Region::add_cue_marker() 2021-05-14 18:37:50 -06:00
0f406f40f7 region markers: change container type that holds Source::_cue_markers from vector to set, to avoid duplicates 2021-05-14 18:37:50 -06:00
bfd00f7a52 add Source::clear_cue_markers() 2021-05-14 18:37:50 -06:00
689306e2bf add Source::CueMarkersChanged signal, and ::remove_cue_marker() 2021-05-14 18:37:50 -06:00
7c9f8fcbf2 remove unused Source::SourcePropertyChanged signal 2021-05-14 18:37:50 -06:00
8fc8cbf4af tentative code to check that we can read cue markers vis libsndfile 2021-05-14 18:37:50 -06:00
297760885c add UI option to control region cue mark visibility 2021-05-14 18:37:50 -06:00
56857302f4 add cue markers to RegionViews 2021-05-14 18:37:50 -06:00
7e7fbf6073 give Regions an access method for Cue Markers 2021-05-14 18:37:50 -06:00
39b020a3f4 expand CueMarker object to allow sorting etc. 2021-05-14 18:37:50 -06:00
b3d9c9d655 give Sources a container of CueMarkers (empty by default) 2021-05-14 18:37:50 -06:00
6f91e1e641 add CueMarker type
Might split this into a separate header if things become more complex than currently imagined
2021-05-14 18:37:50 -06:00
13c819e02b Plugin Tags: Add a Lua-accessible function to write untagged plugins to a file so we can bulk-tag them.
print(ARDOUR.LuaAPI.dump_untagged_plugins())
 ...will write untagged plugins to a file, and report the resulting file path to the user
2021-05-14 15:08:44 -05:00
0fe68cabca Plugin Tags: start collection of VST3 tags with Harrison AVA plugins. 2021-05-14 15:08:16 -05:00
2b7ae1a79f
Use sub-menus for > 32 processor automation parameters 2021-05-14 16:47:46 +02:00
28619fe71b
Fix window process thread priorities
While POSIX defines a single contiguous range of numbers that
determine a thread's priority. Win32 defines priority classes
and priority levels relative to these classes.

pthread maps those to -15 .. +15 with the top six ones
corresponding to REALTIME_PRIORITY_CLASS and max being
THREAD_PRIORITY_TIME_CRITICAL

Note that the PA backend can USE_MMCSS_THREAD_PRIORITIES
and PBD::MMCSS::set_thread_characteristics() directly for
the I/O threads.
2021-05-14 01:59:20 +02:00
4d269729b1
Fix missing entries in region-list #8701
RegionFactory::CheckNewRegion signal is emitted directly
after region-creation from RegionFactory::create().
At this point in time the region is not on any playlist.

This if fine for EditorSources, but the new RegionList design
only shows regions that are on the timeline.

CheckNewRegion() -> EditorRegions::add_region()
-> EditorRegions::regions_changed() ignores regions w/o playlist.

Later Playlist::add_region_internal() sets the playlist but
calls Region::clear_changes() to not send all individual changes.
So Region::RegionsPropertyChanged is not emitted either.

We need to notify the EditorRegions *after* setting the playlist.
The downside of this is that more signals than necessary are
emitted.
2021-05-14 00:27:13 +02:00
f11fadcc94
NO-OP: fix some comments that used <tab>
See also 19a2d384fc ASCII art must not mix tab and space.
2021-05-13 23:33:30 +02:00
b745483e1b
Fix double region freeze, stuck changes #8701
Thawlist::add() calls suspend_property_changes () already.
This has lead to the region remaining on frozen state.
2021-05-13 23:23:47 +02:00
6f87168492
Fix windows packaging of ardour<V>-lua.exe, unhardcode major version 2021-05-13 21:33:17 +02:00
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
Edgar Aichinger
ffcf90eacb update german translation 2021-05-13 11:02:23 -06:00
084d7e221b centralize naming of a couple of context menus 2021-05-13 10:29:19 -06:00
fe5c56ecca remove pointless line of code
If _size_menu was non-null, we just return it. Ergo, it was already null when we reached
this line, which makes calling delete on it completely pointless
2021-05-13 10:29:19 -06:00
798b968610 do not test for gobj() being null when deciding if _size_menu exists
This test was added because of confusion about when/where dynamically constructed menus
were constructed and deleted. This should be consistent now, and this additional check
(on top of _size_menu itself being null) should be unnecessary
2021-05-13 10:29:19 -06:00
95c674e3be rationalize where a TimeAxisView::_size_menu is detached from its parent menu
This happens before the parent menu is deleted and rebuilt
2021-05-13 10:29:19 -06:00
03db585f24 do not delete display (context) menu when adding a new automation child lane
The manu is rebuilt every time it is required, no need to delete it. In addition, deleting it
in the middle of an event handler causes memory corruption because the entire menu (with all
items and submenus) is deleted before event handling for the menu is completed
2021-05-13 10:29:19 -06:00
a01377f168
Add a Lua binding to determine Ardour version 2021-05-13 02:51:17 +02:00
8642f5476d
Ensure that immediate events are not accidentally replaced
All Immediate events have the same action samples, while other
parameters differ. Those events must not be removed by a
call to _remove_event(), particularly not SessionEvent::Overwrite
2021-05-12 19:24:04 +02:00
dcc0f1cb17
Fix playlist edit after edit race
After an edit option the playlist is thawed and triggers
the butler thread (SessionEvent::Overwrite) to re-read the
playlist.

If another edit operation is started the butler may reads a
region using the region's new position, but the playlist's
old range.

See also 4db1c02bd1
2021-05-12 19:24:00 +02:00
bdaca1d783
Skip redundant disk buffer changes
This speeds up initial session loading or sessions with many regions.
2021-05-12 19:10:10 +02:00
3a7304ca01
Fix session loading when aborting latency measurement #8691
Stop the engine if it was started for latency measurement
but measurement was aborted.

Previously the engine was kept running and the "Start' button
was not available.
If this happened during initial session loading, a user
would have to manually restart the engine to proceed.
2021-05-12 00:11:43 +02:00
0fc50b9bf2 Mackie Control: set select state correctly during initial setup 2021-05-11 15:55:04 -06:00
0567c143f1
Tweak export-report to fit on smaller screens #8698
When the screen-height is insufficient, the loudness-graph is
not included in the dialog. It is still visible in the image
saved with the export (save-export-analysis-image).

For tiny screens the conformity analysis may also be skipped.
2021-05-11 23:12:31 +02:00
0033929e7f
Update split-benchmark script (fix autoconnect) 2021-05-11 20:30:53 +02:00
58830d857c
Lua API for sends, sidechains and monitoring 2021-05-11 20:30:53 +02:00
ca1ff5afaf
Remove cruft 2021-05-11 20:30:53 +02:00
19c9622a30 NOOP: comment fix, there is no deadlock! 2021-05-11 08:35:14 -06:00
99022a6157 waveview: add some extensive notes about threading design 2021-05-11 07:57:31 -06:00
1a9df476c2 waveview: now that _quit is protected by a mutex, it doesn't need to be atomic
No reason to have two memory fences when we only need one
2021-05-11 07:57:31 -06:00
John Emmas
952416c596 Accommodate some changes to 'ssize_t' in VS2019
In more recent versions of MSVC, ssize_t equates to 'long' (for a 32-bit build) or '__int64' (for 64-bit)
2021-05-11 14:06:25 +01:00