summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2019-08-02Fix CD cue file Index positions -- #7780Robin Gareus
According to the cdrdao man page, they should be defined as follows: INDEX MM:SS:FF Increments the index number at given position within the track. The first statement will increment from 1 to 2. The position is relative to the real track start, not counting an existing pre-gap.
2019-08-01prefer lowercase and no spaces, since this will appear in the filename.Ben Loftis
2019-08-01(Source List) Catch new sources created by bounce-range-to-source-listBen Loftis
2019-08-01(Source List) Recover Regions feature: WIPBen Loftis
2019-08-01(Source List) Add forall_regions function, used by Region and Source lists.Ben Loftis
2019-08-01(Source List) merge fixesBen Loftis
2019-08-01(Source List) Clean up the natural_position implementation (libardour part).Ben Loftis
2019-08-01(Source List) RegionFactory should return an empty region here.Ben Loftis
2019-08-01(Source List) Region Tags (libardour part)Ben Loftis
Rough-in: Region-Tags. More correct implementation of tags property (libardour). Region Tags (libardour part)
2019-08-01(Source List) Region List rewrite (libardour part)Ben Loftis
2019-08-01(Source List) Source property signals (libardour part)Ben Loftis
2019-08-01(Source List) Take-ID: new (working) implementation.Ben Loftis
2019-07-31Fix C++11 NSDMIRobin Gareus
2019-07-30Update MIDI Event precedenceRobin Gareus
A patch-change that is concurrent with a note-on event should be sent before the given Note-on event. As follow up: CCs also need to be prioritize to send bank-select first. see also https://discourse.ardour.org/t/midi-strangeness-patch-setting-and-first-notes/101415
2019-07-29Another try at fixing our 'spinlock_t' compatibilityJohn Emmas
2019-07-29Partially undo 6d4b94df13 for MSVC and C++98 compatRobin Gareus
2019-07-29Fix random off-by-one issue when vertically zooming a waveformRobin Gareus
To mitigate concurrent rendering, the waveform cache adds a random range of pixels centered around the visible waveform. Alignment is using integer half_width = width_samples / 2; This always aligns the left-edge to the left-most cairo-pixel. This fixes an issue with moving moiree patterns in waveforms when zooming vertically (which invalidates the cache and uses a different random number of pixels),
2019-07-29Fix rendering of region waveform left-edgeRobin Gareus
The left-most part may be a partial block of a given "sample per pixel" range. Also previously there was an off-by-one [block] in case sample_pos was an even multiple of samples_per_visual_peak.
2019-07-29NO-OP: whitespaceRobin Gareus
2019-07-28Reduce compiler warnings when boost uses std-atomicsRobin Gareus
This works around for compilers with non-static-data-member initialization. spinlock_t is-a struct { lockType _; } and BOOST_DETAIL_SPINLOCK_INIT initializes the first member of the struct. All defines of BOOST_DETAIL_SPINLOCK_INIT include c-style curly braces to initialize the struct's data member. However, modern C++ compiler interpret the braces differently resulting in copy constriction of the initializer.
2019-07-28Yet another spinlock init hack for g++8 std::atomicsRobin Gareus
Perhaps we should rather implement this ourselves, using <boost/atomic.hpp>
2019-07-28Prevent spinlock copy constructionRobin Gareus
2019-07-28Another attempt at improving spinlock initRobin Gareus
2019-07-28Follow up d8ae3fdRobin Gareus
Depending on implementation, d8ae3fd may only construct the spinlock once to `sl_init`. Later it is only copy-constructed and that leads to compile and/or runtmime errors. e.g. gcc-8.3 fails to compile error: use of deleted function ‘boost::detail::spinlock::spinlock(const boost::detail::spinlock&)’
2019-07-27MSVC requires an already initialized object to initialize our ↵John Emmas
boost::detail::spinlock (rather than the simpler #define) Hopefully this'll work for the other builds too.
2019-07-26Correctly initialize spintlock_tRobin Gareus
Depending on underlying implementation, boost::detail::spinlock needs to be explicitly initialized
2019-07-26PA-backend: Flush buffer and wake up main thread at stopRobin Gareus
2019-07-26Prefix all env variable with "ARDOUR_"Robin Gareus
In particular "CONCURRENCY" can be problematic. But in general it's good practice to use a namespace prefix for app-specifics.
2019-07-26Launch pavucontrol as PA's control appRobin Gareus
2019-07-26Fix time_t <> long int ambiguity (OSX gcc builds)Robin Gareus
This fixes an issue with * XMLNode::get_property(const char*, T&) * XMLNode::set_property(const char*, const T&) resulting in string_convert.h:77: error: 'long int' is not a class, struct, or union type
2019-07-25Fix PA: unlock mainloop on abortRobin Gareus
2019-07-25Puls der ZeitRobin Gareus
Prototype a basic stereo-playback only pulseaudio backend.
2019-07-24ALSA backend: fix play/capture device param detectionRobin Gareus
2019-07-24Fix ALSA available buffersize detection:Robin Gareus
buffer-size = periods * period-size Previously, buffersize was used for period-size. This fixes an issue with a dedicated .asoundrc configuring a specific period-size or buffer-size that has to be exact. Ardour's device configuration failed in this case. This has not been an issues since most hardware devices offer a wide range: 8 < period-size < 262144 ; 16 < buffer-size < 524288. Only a subset of which (32 .8192) is allowed by Ardour.
2019-07-22Location timestamp changes - can now sort by location creation date: lib ↵Nikolaus Gullotta
ardour part
2019-07-19'ARDOUR::LuaScripting::Sorter()' needs to be exportable (since it gets used ↵John Emmas
outside of libardour)
2019-07-18Revert "fix use of session-creation via template, when just template name is ↵Paul Davis
given" This reverts commit ce7add1481f54eb12b32e5f46af4ea36140eb932.
2019-07-18fix use of session-creation via template, when just template name is givenPaul Davis
2019-07-18Sort Lua scripts case-insensitive and expose sort-structRobin Gareus
2019-07-18Remove debug outputRobin Gareus
2019-07-18Add Lua bindings to query&reset x-run countRobin Gareus
2019-07-15Fix deadlock when removing routes (initialization issues)Robin Gareus
_setup_chain needs to point to the unused graph-chain, and not _current_chain. Otherwise Graph::clear_other_chain() waits forever.
2019-07-11Prevent adding a 2nd MIDI input/output portRobin Gareus
Ardour's Tracks/Routes are not capable of handing more than one MIDI port per per route properly. Most Plugin standards don't support this either. However, at this point in time IO::ensure_ports_locked() is not limited by this restriction! It is still possible to indirectly add a 2nd MIDI data-buffer and output-port via plugin pin-management, or simply plugins with two MIDI output ports when using flexible I/O.
2019-07-10Re-work process-graph to use lock-free queuesRobin Gareus
This removes the trigger_mutex which was used for exclusive access of the work-queue for concurrent processing.
2019-07-10Add lock-free multiple producer multiple reader queueRobin Gareus
2019-07-10Fix process-thread namingRobin Gareus
2019-07-06Add Lua binding to set/create track playlistsRobin Gareus
2019-07-04Use exit-status macros for compatibility 2/3Robin Gareus
2019-07-02Mixbus uses K14 (not K20) master meter by default (see also 297ed001d)Robin Gareus
2019-07-02Remove unused API -- there is no default backend.Robin Gareus