summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-29don't mark session as unnamed if -N name given on command linePaul Davis
2020-03-30Statusbar: fix double-click to reset x-run counterRobin Gareus
2020-03-30Statusbar: tweak tooltipsRobin Gareus
2020-03-30Statusbar: finishing touches (tooltips, engine-dialog)Robin Gareus
2020-03-30Statusbar: link session property dialog for format & timecodeRobin Gareus
2020-03-30Statusbar: respond to mouse-clicksRobin Gareus
* open session folder when path label is clicked * reset x-runs only on x-run label * allow to reset x-run count via shift+click and double-click
2020-03-30Statusbar: add session-path displayRobin Gareus
2020-03-29Statusbar: increase spacing around the clockRobin Gareus
2020-03-29Statusbar: fix >24h disk-space labelRobin Gareus
2020-03-29Statusbar: do not highlight 100% DSP load when freewheelingRobin Gareus
2020-03-29Statusbar: use white on red as fixed color error highlightRobin Gareus
2020-03-29Use light font for status-bar labels instead of italicRobin Gareus
2020-03-29Reorder "WallClock" visibility option to match L->R layoutRobin Gareus
2020-03-29Tweak status-bar layout & designRobin Gareus
* remove color: increase contrast, do not use red/green foreground because it does no work with various themes * do use red background to alert users * use italics for labels heading * increase spacing between elements * use mono-space font with DSP load (fixed with) up to 99% * Fix translations, use compose strings
2020-03-29StatusBar: move clock to the rightRobin Gareus
2020-03-29Fix typo in prev commit's help messageRobin Gareus
2020-03-29Add option to run Lua interpreter interactively from non-ttysRobin Gareus
2020-03-29Fix optimized build crashes (missing return value) - #7958Robin Gareus
2020-03-29Set thread-names (GUI)Robin Gareus
2020-03-29Set thread-names (libs)Robin Gareus
2020-03-29Set public thread nameRobin Gareus
This allows to identify Ardour thread using standard unix tools (ps, htop) and inspect priorities, CPU load etc.
2020-03-29Engine: Silence outputs for 1/2 second when loading a sessionRobin Gareus
This allows for caches to warm up, background worker threads to spin up and things settle down. This also prevents initial audible artifacts of live input. In almost all cases this completes before the GUI is brought up.
2020-03-29VKeybd: fix stuck keys when changing octaves - #7957Robin Gareus
Using the mouse/dropdown to change octaves can lead to stuck notes when keys are held. This is because the most recently pressed key, sends key-repeat events. Using Arrow keys to switch octaves does not cause this problem, because the most recently pressed key will be an arrow key. PS. Changing Chromatic Transpose while holding keys still can lead to stuck notes. This will need a different fix.
2020-03-28Remove duplicate unit in ctrl-point dialog - #7472Robin Gareus
2020-03-28ALSA backend: try to recover from poll errorsRobin Gareus
When recover() successfully re-initializes the device, processing can continue just like after an x-run. This can happen during initial session load of "expensive" sessions (in particular on slow systems, e.g. Raspberry Pi) usually with synths. Worker thread pulls in many external files in the background which blocks the bus for a long time. resulting in a poll-timeout.
2020-03-28Initialize keyboard layout based on user preferenceNil Geisweiller
Otherwise the Simple QWERTY layout is loaded in the Virtual MIDI Keyboard regardless of what is set in Preferences->MIDI->Virtual Keyboard->Virtual Keyboard Layout
2020-03-28remove noisy and unhelpful log messagePaul Davis
2020-03-28prevent CD markers from being placed at or before session start (#7942)Paul Davis
2020-03-28Don't use shared-pointers in cross thread event structsRobin Gareus
This fixes a deadlock when closing the session. Session::destroy() takes the engine-lock while removing unhandled session-events. In [1], the event-queue held a last reference to a Track, and releasing that object triggered events (here ~IO) that required the lock. --- [1] #2 0x0041743a in Glib::Threads::Mutex::Lock::Lock at /home/ardour/linux-armhf/stack/include/glibmm-2.4/glibmm/threads.h:643 #3 0xb67433ba in ARDOUR::IO::~IO at ../libs/ardour/io.cc:105 #4 0xb6743612 in ARDOUR::IO::~IO at ../libs/ardour/io.cc:111 #5 0xb6758e66 in boost::checked_delete<ARDOUR::IO> at /home/ardour/linux-armhf/stack/include/boost/core/checked_delete.hpp:34 #6 0xb675912c in boost::detail::sp_counted_impl_p<ARDOUR::IO>::dispose at /home/ardour/linux-armhf/stack/include/boost/smart_ptr/detail/sp_counted_impl.hpp:92 #7 0x004178d8 in boost::detail::sp_counted_base::release at /home/ardour/linux-armhf/stack/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp:129 #8 0x00417986 in boost::detail::shared_count::~shared_count at /home/ardour/linux-armhf/stack/include/boost/smart_ptr/detail/shared_count.hpp:426 #9 0xb662343a in boost::shared_ptr<ARDOUR::IO>::~shared_ptr at /home/ardour/linux-armhf/stack/include/boost/smart_ptr/shared_ptr.hpp:341 #10 0xb6a4af7a in ARDOUR::Route::~Route at ../libs/ardour/route.cc:282 #11 0xb6b9404c in ARDOUR::Track::~Track at ../libs/ardour/track.cc:71 #12 0xb697164a in ARDOUR::MidiTrack::~MidiTrack at ../libs/ardour/midi_track.cc:94 #13 0xb697177a in ARDOUR::MidiTrack::~MidiTrack at ../libs/ardour/midi_track.cc:96 #14 0xb6ac525a in boost::checked_delete<ARDOUR::MidiTrack> at /home/ardour/linux-armhf/stack/include/boost/core/checked_delete.hpp:34 #15 0xb6acde00 in boost::detail::sp_counted_impl_p<ARDOUR::MidiTrack>::dispose at /home/ardour/linux-armhf/stack/include/boost/smart_ptr/detail/sp_counted_impl.hpp:92 #16 0x004178d8 in boost::detail::sp_counted_base::release at /home/ardour/linux-armhf/stack/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp:129 #17 0x00417986 in boost::detail::shared_count::~shared_count at /home/ardour/linux-armhf/stack/include/boost/smart_ptr/detail/shared_count.hpp:426 #18 0xb664dca6 in boost::shared_ptr<ARDOUR::Track>::~shared_ptr at /home/ardour/linux-armhf/stack/include/boost/smart_ptr/shared_ptr.hpp:341 #19 0xb6aaf67e in ARDOUR::SessionEvent::~SessionEvent at ../libs/ardour/ardour/session_event.h:42 #20 0xb6a91a88 in ARDOUR::Session::destroy at ../libs/ardour/session.cc:753 #21 0xb6a8fb20 in ARDOUR::Session::~Session at ../libs/ardour/session.cc:460 #22 0xb6a9075e in ARDOUR::Session::~Session at ../libs/ardour/session.cc:46
2020-03-28Add Lua bindings to check engine statusRobin Gareus
2020-03-28Automatic backend selection, and fix backend option parsingRobin Gareus
python ''.split(',') returns an array with an empty string, it does not evaluate to false.
2020-03-28Grid: explicitly check for empty marker list (fixes: grid fails if no ↵Ben Loftis
start+end markers yet)
2020-03-28Create write sources for template/dup tracks - #7940Robin Gareus
This fixes a crash with missing [MIDI] write-sources after duplicating tracks [1]: Stealing write-source name fails, because there is no write-source. When duplicating tracks, reset_write_sources() is called before any playlists are set [2]. So no new write-sources are created because _playlists[DATA-TYPE] is empty. During normal track creation write-sources are usually added by the input-change handler [3]. However in this case the state has been set, and since there is no change, DiskWriter::configure_io does not call use_new_write_source() NB. This also re-creates write-source when playlists are changed. -=- [1] #3 0x00007f4420690102 in __GI___assert_fail at assert.c:101 #4 0x0000562bfa300dc9 in boost::shared_ptr<ARDOUR::SMFSource>::operator->() const at /usr/include/boost/smart_ptr/shared_ptr.hpp:734 #5 0x00007f442579ffa1 in ARDOUR::DiskWriter::steal_write_source_name[abi:cxx11]() at ../libs/ardour/disk_writer.cc:1290 #6 0x00007f4425e476b6 in ARDOUR::Track::steal_write_source_name[abi:cxx11]() at ../libs/ardour/track.cc:476 #7 0x00007f4425d060a2 in ARDOUR::Session::create_midi_source_by_stealing_name at ../libs/ardour/session.cc:4955 #8 0x0000562bf9ed39ab in MidiTimeAxisView::add_region at ../gtk2_ardour/midi_time_axis.cc:1650 #9 0x0000562bf9b05f2a in Drag::add_midi_region at ../gtk2_ardour/editor_drag.cc:568 -=- [2] #0 0x00007ffff7582e2f in ARDOUR::DiskWriter::reset_write_sources at ../libs/ardour/disk_writer.cc:946 #1 0x00007ffff757fce6 in ARDOUR::DiskWriter::set_state at ../libs/ardour/disk_writer.cc:333 #2 0x00007ffff7a81c93 in ARDOUR::Route::set_processor_state at ../libs/ardour/route.cc:3054 #3 0x00007ffff7a7f5d5 in ARDOUR::Route::set_state at ../libs/ardour/route.cc:2697 #4 0x00007ffff7c2aa1d in ARDOUR::Track::set_state at ../libs/ardour/track.cc:172 #5 0x00007ffff794f204 in ARDOUR::MidiTrack::set_state at ../libs/ardour/midi_track.cc:152 #6 0x00007ffff7b7e06b in ARDOUR::Session::XMLRouteFactory at ../libs/ardour/session_state.cc:1890 #7 0x00007ffff7addf7e in ARDOUR::Session::new_route_from_template at ../libs/ardour/session.cc:3048 #8 0x000055555621329a in DuplicateRouteDialog::on_response(int) at ../gtk2_ardour/duplicate_routes_dialog.cc:194 -=- [3] #0 0x00007ffff7583243 in ARDOUR::DiskWriter::use_new_write_source at ../libs/ardour/disk_writer.cc:996 #1 0x00007ffff75831c7 in ARDOUR::DiskWriter::reset_write_sources at ../libs/ardour/disk_writer.cc:989 #2 0x00007ffff75851ea in ARDOUR::DiskWriter::configure_io at ../libs/ardour/disk_writer.cc:1335 #3 0x00007ffff7a7b308 in ARDOUR::Route::configure_processors_unlocked at ../libs/ardour/route.cc:1912 #4 0x00007ffff7a79e4b in ARDOUR::Route::configure_processors at ../libs/ardour/route.cc:1719 #5 0x00007ffff7a86695 in ARDOUR::Route::input_change_handler at ../libs/ardour/route.cc:3632
2020-03-28NO-OP: whitespaceRobin Gareus
2020-03-28Minor code cleanup - consolidate variables & scopeRobin Gareus
2020-03-28Fix incorrect timestretch duration - #7943Robin Gareus
Completing readout available() returns 0, until all background threads have finished and joined. This also improves performance by feeding suggested/required amount of samples on every process() call.
2020-03-27NOOP: remove newlinesPaul Davis
2020-03-27display MIDI qtr msgs in the MIDI tracer windowPaul Davis
2020-03-27make MIDI tracing work again for ports that are handled using ↵Paul Davis
::read_and_parse_entire_midi_buffer_with_no_speed_adjustment()
2020-03-27variable rename and commentPaul Davis
2020-03-27fix user-driven varispeedPaul Davis
2020-03-26Allow to pass arguments to ardour-luaRobin Gareus
This follows the same standard as lua-5.x commandline interpreter, using "arg" as table, which is always present in the global namespace.
2020-03-26Source-tree consistency (headless tools at top-level)Robin Gareus
This move ardour-lua session tool to top-level, next to headless/hardev.
2020-03-26Remove old Lua development playgroundRobin Gareus
2020-03-26NO-OP: whitespaceRobin Gareus
2020-03-26Allow Lua-session to read and interpret scriptsRobin Gareus
2020-03-26NO-OP fix typo in comment and header guardRobin Gareus
2020-03-26change velocity bar inside notes to extend to edges of note6.0-pre1Paul Davis
Having the velocity bar inset from note causes distracting space at beginning of note when viewing a MIDI note that is zoomed out
2020-03-26Update ardour.1.esConstantino Álvarez Casado
Fixed typo error.
2020-03-26Update ardour.1.esConstantino Álvarez Casado
Fixed little typo.