Commit graph

17110 commits

Author SHA1 Message Date
Todd Naugle
be6d0fa95c Do not use named semaphores on Windows since they are system wide
https://docs.microsoft.com/en-us/dotnet/standard/threading/semaphore-and-semaphoreslim#named-semaphores

Running multiple instances of Ardour or Ardour/Mixbus would fail in very
odd ways since they would signal each other. Unnamed sems are
correct for this use case.
2021-05-27 15:13:40 -05:00
Robin Gareus
e91fd1fce6
Add Lua binding to query plugin-presets and scalepoints 2021-05-27 16:56:24 +02:00
Robin Gareus
a829fa58b3
Fix another C++11ism 2021-05-26 04:14:18 +02:00
Robin Gareus
2cf4568d82
Fix C++11isms in 3fb9f47bf1 2021-05-26 03:55:29 +02:00
Robin Gareus
d839e9cf14
Consistent _nth_ API call 0-based index 2021-05-26 02:33:31 +02:00
Damien Zammit
3fb9f47bf1 ptimport: Fix importing of large sessions, no more crashing and faster 2021-05-25 20:37:39 +10:00
Paul Davis
3a1cfc837e libardour: API infrastructure for renaming cue markers 2021-05-24 20:23:06 -06:00
Paul Davis
c2a012545b API infrastructure for dragging region/cue markers 2021-05-24 12:26:21 -06:00
Robin Gareus
a6fc82537e
Fix assert in Waveview cache size
previous condition made no sense. effectively assert(bytes > 0).
2021-05-23 21:41:45 +02:00
Robin Gareus
42f4e64d5f
Fix a moderate memory leak
periodic calls ARDOUR_UI::update_clocks() -> AudioClock::set()
-> 2+ calls to UI::set_tip() can easily accumulate 50MB/hour
when rolling.
2021-05-22 22:11:42 +02:00
Robin Gareus
d703079f10
ace-fluidsynth: add bypass (ignore notes, but retain reverb) 2021-05-21 18:40:59 +02:00
Robin Gareus
ecbd8732de
NO-OP: clang-format 2021-05-21 18:39:39 +02:00
Ben Loftis
6733a847ee Fix Bounced region+filename (lib part)
Prior implementation:
  Bouncing a range and naming it "chorus" resulted in:
     ..a region per track, and they were all named "chorus"
     ...a file per track, with the name "chorus-{playlist name}"

New implementation:
   Bouncing a range and naming it "chorus" results in:
     ..a region per track, with the name "chorus-{playlist name}"
     ...a file with the same name as the region
2021-05-20 11:42:48 -05:00
Paul Davis
2e501fd77a ensure the BasicUI implementation of rewind/ffwd is the same as the ARDOUR_UI one 2021-05-19 18:32:00 -06:00
Paul Davis
17dbdffc45 infrastructure APIs for region/cue marker removal and clear 2021-05-18 20:59:37 -06:00
Robin Gareus
d8e0a29316
Fix A/B plugins, skip internal but visible plugins (e.g. LAN) 2021-05-19 02:10:33 +02:00
Paul Davis
60a972a7de implement region marker deletion 2021-05-18 18:01:38 -06:00
Len Ovens
a5a2f111ee Remove debug line 2021-05-18 14:32:38 -07:00
Len Ovens
0130f19e26 Fix positions before start and after end 2021-05-18 14:27:20 -07:00
Robin Gareus
0ee8b1706d
Fix event_inside_widget_window()
This fixes cases where a widget's parent isn't the
top-level window and additional offset has to be taken
into account.

So far this has not been an issue since this method was only
used for floating text entries.
2021-05-18 22:17:36 +02:00
Robin Gareus
8cd8d90483
Reported the jack2 xrun bug, now we stop telling users 2021-05-18 03:17:17 +02:00
Len Ovens
f9557d0d04 Remove unused code 2021-05-17 13:50:18 -07:00
Len Ovens
ab7c6e74e0 OSC, update marks list better. 2021-05-17 13:34:19 -07:00
Tobias Kannenberg
e4a6e981d9 fix OSC "/marker" feedback 2021-05-17 13:31:03 -07:00
Robin Gareus
d2916a1df8
Better version of previous commit 2021-05-17 21:31:53 +02:00
Robin Gareus
9d063943bb
Fix deadlock when changing tempo
since dcc0f1cb17 Playlist::freeze takes a RegionWriteLock,
so freeze() must not be called with a Lock already held.
2021-05-17 21:15:58 +02:00
Robin Gareus
98721b1267
Don't count jack[2] xruns during freewheel export for now
Pending further investigation after the 6.7 release.
2021-05-17 04:44:53 +02:00
Robin Gareus
14961e6bc7
ALSA backend: code cleanup and scoping and indent
This is combination of clang-format and manual edits.
The latter mainly to add braces and reduce scope of variables.
2021-05-16 00:49:06 +02:00
Robin Gareus
6801c2cac2
ALSA: add option to prefer interleaved access 2021-05-15 23:10:14 +02:00
Robin Gareus
e2bac27885
Remove unused API 2021-05-15 23:09:21 +02:00
Robin Gareus
6346b54c13
Tweak Lua API, avoid translated sting as return value 2021-05-15 03:53:40 +02:00
Paul Davis
ac87409122 #ifdef code dependent on libsndfile 1.0.28 2021-05-14 19:03:52 -06:00
Paul Davis
d1ee033dd2 change XML node names for cue markers to be capitalized 2021-05-14 18:37:50 -06:00
Paul Davis
7cf9e3d89d remove Region::add_cue_marker() (force use of Source API instead) 2021-05-14 18:37:50 -06:00
Paul Davis
6dd516bc45 add non-const SourceList accessor to Region 2021-05-14 18:37:50 -06:00
Paul Davis
e3b1566534 add serialization for source cue markers 2021-05-14 18:37:50 -06:00
Paul Davis
2791be7f2a add Region::add_cue_marker() 2021-05-14 18:37:50 -06:00
Paul Davis
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
Paul Davis
bfd00f7a52 add Source::clear_cue_markers() 2021-05-14 18:37:50 -06:00
Paul Davis
689306e2bf add Source::CueMarkersChanged signal, and ::remove_cue_marker() 2021-05-14 18:37:50 -06:00
Paul Davis
7c9f8fcbf2 remove unused Source::SourcePropertyChanged signal 2021-05-14 18:37:50 -06:00
Paul Davis
8fc8cbf4af tentative code to check that we can read cue markers vis libsndfile 2021-05-14 18:37:50 -06:00
Paul Davis
7e7fbf6073 give Regions an access method for Cue Markers 2021-05-14 18:37:50 -06:00
Paul Davis
39b020a3f4 expand CueMarker object to allow sorting etc. 2021-05-14 18:37:50 -06:00
Paul Davis
b3d9c9d655 give Sources a container of CueMarkers (empty by default) 2021-05-14 18:37:50 -06:00
Paul Davis
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
Ben Loftis
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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