summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2019-10-24non-GUI startup should only use plugin cache and not discover new onesPaul Davis
2019-10-24do not scan (discover) (new) plugins when running without a GUIPaul Davis
2019-10-24alter ARDOUR::init() API to specify whether a GUI is in control or notPaul Davis
2019-10-23Fix strict-i/o override on session-load (amend 31847f88ef)Robin Gareus
Plugins may override strict-i/o, and in order to know do this the plugin needs to be instantiate first.
2019-10-22New implementation for single-fader mackie devices (reverts b96d8e)Ben Loftis
2019-10-21Allow calling Dropdown::set_active from a signal handlerRobin Gareus
This breaks a potential recursion when set_active() is called from activate_item(). See also 88fc22610
2019-10-20Add support for single-fader MCU devices: XTouch One and RuCo. (needs testing)Ben Loftis
2019-10-20Add API to set select item from ArdourDropdownRobin Gareus
This fixes an issue with scroll-wheel control which uses `get_active()`. It work around an issue with gtkmm: const MenuItem* get_active () const void set_active (guint index) and MenuList::activate_item() not emitting activate_item().
2019-10-19Fix typo in bc363f1258c4Robin Gareus
2019-10-18Special case "Virtual Keyboard" to be available as external inputRobin Gareus
2019-10-18Allow to translate "Virtual Keyboard"Robin Gareus
reserved_io_names[] already uses a translatable string for this.
2019-10-18Expose virtual-keyboard port as async-portRobin Gareus
2019-10-18Add Virtual-Keyboard MIDI portRobin Gareus
2019-10-18NO-OP: indent, tabs/whitespace fixesRobin Gareus
2019-10-18Fix a rare EventList race-condition/crashRobin Gareus
The GUI thread may modify fade-in/out while the butler-thread reads audio. e.g. select a Range and click delete. --- Thread 0:: Dispatch queue: com.apple.main-thread 0 libsystem_pthread.dylib 0x00007fffd45924fc pthread_mutex_lock + 0 1 libglib-2.0.0.dylib 0x00000001085a9d2a g_mutex_lock + 26 2 libevoral.dylib 0x0000000107fd0a49 PBD::Signal0<void, PBD::OptionalLastValue<void> >::operator()() + 57 3 libevoral.dylib 0x0000000107fd486d Evoral::ControlList::clear() + 253 4 libardour.dylib 0x00000001072ef9a5 ARDOUR::AudioRegion::set_fade_out(ARDOUR::FadeShape, long long) + 309 5 libardour.dylib 0x00000001072f19ea ARDOUR::AudioRegion::recompute_at_end() + 122 6 libpbd.dylib 0x00000001082993ff PBD::Stateful::resume_property_changes() + 191 7 libardour.dylib 0x00000001076476af ARDOUR::Playlist::cut(long long, long long, bool) + 575 8 libardour.dylib 0x0000000107646b5b ARDOUR::Playlist::cut_copy(boost::shared_ptr<ARDOUR::Playlist> (ARDOUR::Playlist::*)(long long, long long, bool), std::__1::list<ARDOUR::AudioRange, std::__1::allocator<ARDOUR::AudioRange> >&, bool) + 187 9 libardour.dylib 0x0000000107647461 ARDOUR::Playlist::cut(std::__1::list<ARDOUR::AudioRange, std::__1::allocator<ARDOUR::AudioRange> >&, bool) + 33 10 Ardour.bin 0x00000001065f0fa0 RouteTimeAxisView::cut_copy_clear(Selection&, Editing::CutCopyOp) + 592 11 Ardour.bin 0x0000000106118a94 Editor::cut_copy_ranges(Editing::CutCopyOp) + 164 12 Ardour.bin 0x0000000106116053 Editor::cut_copy(Editing::CutCopyOp) + 1587 Thread 20 Crashed: 0 libardour.dylib 0x00000001072f4b19 ARDOUR::AudioRegion::body_range() const + 89 1 libardour.dylib 0x00000001072bd318 ARDOUR::AudioPlaylist::read(float*, float*, float*, long long, long long, unsigned int) + 1176 2 libardour.dylib 0x00000001072ac236 ARDOUR::AudioDiskstream::read(float*, float*, float*, long long&, long long, int, bool) + 854 3 libardour.dylib 0x00000001072abbb8 ARDOUR::AudioDiskstream::overwrite_existing_buffers() + 392 4 libardour.dylib 0x00000001077ef36a ARDOUR::Session::non_realtime_overwrite(int, bool&) + 186 5 libardour.dylib 0x00000001077ed7f0 ARDOUR::Session::butler_transport_work() + 1696 6 libardour.dylib 0x0000000107323425 ARDOUR::Butler::thread_work() + 149 7 libardour.dylib 0x000000010732334f ARDOUR::Butler::_thread_work(void*) + 95
2019-10-18Add API to safely query timestamp of first/last control eventRobin Gareus
Direct calls to back()->when or front()->when are not safe when the list is concurrently modified, or empty.
2019-10-15Fix export w/o session-range (typo in 468731c14b9b)Robin Gareus
2019-10-15Improve multi-channel instrument listingRobin Gareus
2019-10-15Fix typos in AU channel-count calcRobin Gareus
2019-10-15API to count max multi-channel plugin outputsRobin Gareus
2019-10-15Detect plugin-name ambiguitiesRobin Gareus
2019-10-15NO-OP: indent, comments and consistencyRobin Gareus
2019-10-13Fix fan-out channel-assignmentRobin Gareus
2019-10-13Remove unused API declaration (removed in 789f08891b)Robin Gareus
2019-10-12remove Session::AudioMidiSetupRequired signal (no longer necessary)Paul Davis
2019-10-11remove responsibility for starting AudioEngine from SessionPaul Davis
2019-10-10make error message very slightly more indicative of what might be happening ↵Paul Davis
when audioengine backend fails to start
2019-10-10make BusProfile argument to new Session constructor be const (and in ↵Paul Davis
associated call tree)
2019-10-10remove unnecessary template methods (replicated in libs/gtkmm2ext/doi.hPaul Davis
2019-10-10NO-OP: whitespaceRobin Gareus
2019-10-10Add "List/Browse" vector iconRobin Gareus
2019-10-07add constructorPaul Davis
2019-10-07Invert Pan-Azimuth (up means left)Robin Gareus
It's a well established convention that pan y-axis automation, or vertical uses (top) +1 for left. This special cases rotary knobs (and horizontal sliders) to retain a clockwise movement (or movement to the right) for panning to the right.
2019-10-02remove all use of NO_PLUGIN_STATE #ifdefPaul Davis
We determined several years that we should never ever do this, and changed the basis for the free/demo copy because of that.
2019-10-02Prefer portable (MSVC?) getenv (amend 5ea54be)Robin Gareus
2019-10-02Allow ARDOUR_AVG_DSP_LOAD for non-debug buildsRobin Gareus
2019-10-02Amend 903c3ec5a API renameRobin Gareus
2019-10-02Plugin type lookup does not change PIRobin Gareus
2019-10-02Remove unused API (and some MIXBUS specifics)Robin Gareus
2019-10-02Optimize default case: no delayRobin Gareus
2019-10-01Fix thinko in cd5f70e69a (delayline buffer resize)Robin Gareus
The delay-time itself can change arbitrarily, but the buffer-size never shrinks. If the buffersize grows it means that the new delay is longer than the current one (or at least as large as any pending, not yet active delay). This is important for the mechanism that adjusts the read-pointer to the new buffer-size.
2019-09-30Update Fluidsynth to v2.0.7Robin Gareus
2019-09-30Fix remaining doxygen warnings (!)Robin Gareus
2019-09-30NO-OP: whitespace, indentRobin Gareus
2019-09-30Fix use of doxygen documented parameters in running textRobin Gareus
2019-09-30Fix some more doxygen warningsRobin Gareus
2019-09-30NO-OP: whitespace (use tab to indent)Robin Gareus
2019-09-30Fix a few hundred doxygen warnings..Robin Gareus
There are still over a hundred left, but this addresses many already. In particular @param references to undocumented parameters. Most notably in audio_backend.h
2019-09-29Ardour::IO is not latent by itselfRobin Gareus
2019-09-29Fix port-insert default latencyRobin Gareus