summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2015-11-25Prevent crash at session-close when analysing.Robin Gareus
The Analyser only holds a weak-pointer the the Source, session-destruction frees the actual Source, which is fatal for any ongoing audio analysis. This fix simply waits for the current ongoing analysis to complete, ideally TransientDetector::run, EBUr128Analysis::run, OnsetDetector::run and AudioAnalyser::analyse could be interrupted. Alternate option: cancel the Analyser::work thread (and re-create with the every session).
2015-11-24remove debugging outputPaul Davis
2015-11-24create data structure to handle the fact that faderport firmware 1.38 uses ↵Paul Davis
different button IDs for input and output (!!!)
2015-11-24get faderport i/o working, basics of identifying control activityPaul Davis
2015-11-24rough-in for faderport protocol backendBen Loftis
2015-11-24prevent concurrent peak-file init.Robin Gareus
When embedding external files. the same file is queued twice for peak-file generation. Since there are two peak_thread_work threas in SourceFactory, this can lead to inconsistent/missing peaks. TODO: fix the actual cause, duplicate call to setup_peakfile(): #0 ARDOUR::SourceFactory::setup_peakfile (s=..., async=true) at ../libs/ardour/source_factory.cc:116 #1 0x00007ffff6c2552f in ARDOUR::SourceFactory::createExternal (type=..., s=..., path="/tmp/CB_bass_Track08.wav", chn=0, flags=(unknown: 0), announce=true, defer_peaks=true) at ../libs/ardour/source_factory.cc:254 #2 0x0000000000886f50 in Editor::embed_sndfiles (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, multifile=false, check_sample_rate=@0x7fffffffc2df: true, disposition=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack, pos=@0x7fffffffc458: -1, target_regions=1, target_tracks=-1, track=..., instrument=...) at ../gtk2_ardour/editor_audio_import.cc:630 #3 0x0000000000885c7c in Editor::do_embed (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, import_as=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack, pos=@0x7fffffffc458: -1, instrument=...) at ../gtk2_ardour/editor_audio_import.cc:414 #4 0x0000000000e93aeb in SoundFileOmega::do_something (this=0x490f530, action=-5) at ../gtk2_ardour/sfdb_ui.cc:1983 #0 ARDOUR::SourceFactory::setup_peakfile (s=..., async=true) at ../libs/ardour/source_factory.cc:116 #1 0x0000000000888954 in Editor::add_sources (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, sources=std::vector of length 1, capacity 1 = {...}, pos=@0x7fffffffc458: 0, disposition=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack, target_regions=1, target_tracks=-1, track=..., instrument=...) at ../gtk2_ardour/editor_audio_import.cc:883 #2 0x0000000000887131 in Editor::embed_sndfiles (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, multifile=false, check_sample_rate=@0x7fffffffc2df: true, disposition=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack, pos=@0x7fffffffc458: 0, target_regions=1, target_tracks=-1, track=..., instrument=...) at ../gtk2_ardour/editor_audio_import.cc:653 #3 0x0000000000885c7c in Editor::do_embed (this=0x3810340, paths=std::vector of length 1, capacity 1 = {...}, import_as=Editing::ImportDistinctFiles, mode=Editing::ImportAsTrack, pos=@0x7fffffffc458: 0, instrument=...) at ../gtk2_ardour/editor_audio_import.cc:414 #4 0x0000000000e93aeb in SoundFileOmega::do_something (this=0x490f530, action=-5) at ../gtk2_ardour/sfdb_ui.cc:1983
2015-11-24update configure time tests and code to use libsndfile 1.0.26's version of ↵Paul Davis
the R64 auto-downgrade-to-WAV code
2015-11-23allow use of (N)RPN messages in generic MIDI binding maps (UNTESTED)Paul Davis
2015-11-23more corrections for libmidi++ (N)RPN APIPaul Davis
2015-11-23change API for libmidi++ RPN-related signals to be more usefulPaul Davis
2015-11-23add (N)RPN handling to libmidi++Paul Davis
2015-11-23make copies of global lists before extendingNils Philippsen
Not doing so can make source or object files appear multiple times in the list of files to be compiled or linked, e.g. when doing './waf build install', subsequently leading to linker errors.
2015-11-21cont'd 20262abe (keep all playlists)Robin Gareus
2015-11-21prepare "delete all playlists" cleanup optionRobin Gareus
2015-11-21fix playlist refcount on track un-freeze.Robin Gareus
2015-11-21remove cruftRobin Gareus
2015-11-20prevent deletion of playlists on frozen tracks:Robin Gareus
bug: 1) freeze a track 2) Session Cleanup > Cleanup unused sources 2a) confirm playlist deletion 3) quit, reload -> track is no longer frozen because _freeze_record.playlist is missing. session is in an odd state.
2015-11-20add API to read snapshot name from instant.xmlRobin Gareus
2015-11-20remember in-use snapshot/session name in instant.xmlRobin Gareus
2015-11-20remove cruftRobin Gareus
2015-11-19provide user preference for pre-rollBen Loftis
2015-11-19remove debug messageRobin Gareus
2015-11-19line-wrap fatal message (that's not done automatically)Robin Gareus
2015-11-19allow to rename the session root folder - fixes #6557Robin Gareus
2015-11-19Fix windows build when using pthreads-win32 libraryTim Mayberry
2015-11-19Use a range of values for ASIO buffer sizes if provided by driverTim Mayberry
This has been tested on four devices: - A RME HDSP Multiface - A Yamaha AG06 - A Focusrite 2i2 - A built-in soundcard running ASIO4ALL The HDSP and the AG06 only return one buffer size when queried so the preferred size is used as before. The Focusrite returns a min corresponding to the position of the slider in the control dialog and the max is 1024. The granularity is 1 so this means that the number of values needs to be reduced for the current UI design with a combo box so the granularity is increased until there are around 8-9 buffer sizes to choose from evenly spaced between min and max(but we could easily change this if the UI changes etc). The ASIO4ALL driver returns a min of 64 and a max of 2048 and a granularity of 8. So where the minimum buffer size and granularity is a power of 2 use only buffer sizes that are power of 2. If the driver returns different values for min and max it is not currently possible to indicate which is the driver preferred value. A checkbox or other UI element could be added to the AudioSetup dialog to only use the preferred value but that is more work and perhaps not necessary.
2015-11-19Add support for callback API to portaudio backend but keep blocking API as ↵Tim Mayberry
default Don't use the callback API for now until further and wider testing.
2015-11-18add dedicated API to check plugin classRobin Gareus
2015-11-18reduce math weirdness (thanks to Steven Yi)Robin Gareus
2015-11-17use thread private data **pointer** correctly for Stateful::ID regenerationPaul Davis
2015-11-16fix inadvertently commit error related to at-process-exit deletion for ↵Paul Davis
thread private variable
2015-11-16correct value testing for Stateful thread-private variable controlling ID ↵Paul Davis
regeneration
2015-11-14get PlaylistDisposition argument of Session::new_route_from_template() workingPaul Davis
2015-11-14Fix fader in mackie control to work with groups.Len Ovens
2015-11-13substantial part of infrastructure required for track/bus duplicationPaul Davis
This includes removing the removal of ID values in XML, and its replacement with thread-local forcing of ID resets, implemented in a previous commit
2015-11-13fix return value from Route::save_as_template()Paul Davis
2015-11-14Ardour::Region - add method required to fix #6673.nick_m
2015-11-12fix edge-case in Dummy-backend random number generator initializationRobin Gareus
2015-11-12provide a mechanism to force ID regeneration/reset in PBD::Stateful when ↵Paul Davis
settingthe ID object from XML or string sources
2015-11-12remove requirement for transport speed to be 1.0 when generating click ↵Paul Davis
(metronome) This is experimental and may not work
2015-11-10Use XMLNode::remove_child_and_delete in Stateful::add_extra_xmlTim Mayberry
As the node being replaced has been added with XMLNode::add_child_nocopy the node also needs to be deleted or a memory leak occurs.
2015-11-10Use constructor initialization list in Stateful classTim Mayberry
2015-11-10Replace spaces with tabs in pbd/stateful.hTim Mayberry
2015-11-09more correct semantics for reserved IO name checkingPaul Davis
2015-11-07slightly improved fix for reserved name handlingPaul Davis
2015-11-07don't force rename of reserved route/IO names if the name isn't taken yetPaul Davis
2015-11-06Mackie Control: Initialize vpot assignment on start-up.Len Ovens
2015-11-06Mackie Control: Add send functionality to vpot assign section.Len Ovens
2015-11-06Add some newly introduced sources to our MSVC project (libardour)John Emmas
2015-11-04Make duplicate start at position, not position + 1. (libs part)André Nusser