summaryrefslogtreecommitdiff
path: root/libs/ardour
AgeCommit message (Collapse)Author
2015-09-12plug some memory leaks in libsRobin Gareus
2015-09-12remove cruftRobin Gareus
2015-09-11spelling error fixes (notably "overriden" => "overidden") from IOhannes m ↵Paul Davis
zmölnig
2015-09-11fail to create Monitor section if port-names are not uniqueRobin Gareus
We should still prevent a user from naming a route "Monitor", but since "Monitor" is a translatable string, this is an i18n safeguard. eg. - create a session with a mon-section and a track Монитор. - send the session to a friend in Russia.
2015-09-10queue disk buffer overwrite when playlist layering changes.Paul Davis
This is a first approximation. Doing this 100% efficiently is quite hard because it would require comparing the range currently in the disk buffer and the range impacted by the layer change. I suspect this will work fine for the foreseeable future
2015-09-10use PortManager::port_name_prefix_is_unique to check for new route namesPaul Davis
2015-09-10add PortManager::port_name_prefix_is_unique()Paul Davis
2015-09-10fix recent session loading.Robin Gareus
std::stringstream::operator<< calls strlen(), but the string in the temp buffer may not [yet] be NULL terminated.
2015-09-10when removing routes, don't do potentially expensive work once for each route.Paul Davis
We can update solo state and tell interested parties about the removal once the actual removal is done
2015-09-10fix deadlock when removing routes and using JACK1.Paul Davis
graph reorder callback needed an early exit if we were deleting routes, is all.
2015-09-10use FileSource::within_session() for peak-filesRobin Gareus
2015-09-10remove duplicate enum registrationPaul Davis
2015-09-10Make sure that the DSPLoadCalculator class is exportableJohn Emmas
2015-09-10Add support for newly introduced class ARDOUR::DSPLoadCalculator (when ↵John Emmas
building with MSVC)
2015-09-10Add DSPLoadCalculator class to libardourTim Mayberry
This is similar to the class in the PortaudioBackend but uses an average of the values if raw load is under 80%
2015-09-10allow LV2 plugins to query current block-size.Robin Gareus
This is akin to VST2's audioMasterGetBlockSize. It returns the current nominal block size (think jack-buffersize). It's not the only block size that may be used when calling run(), it's just the normal one. The actual block sizes used may be larger or smaller and may vary between successive calls of run(). This change became neccesary after 53e969e9. Some plugins expected maxBlockLength to be the /current/ buffer-size and not all-time maxiumum. Those plugins can now use nominalBlockLength.
2015-09-10rework peakfile handling:Robin Gareus
- copy old peak-files to new (do not require re-calc) - keep old peak-files (for now, backwards compat) - fix cleanup-sources to remove *new* peak-file - include channel-number in hash (like it was done before) see also 624f76b TODO: add Session > Cleanup > remove/re-create peaks
2015-09-10remove Ardour broken peak-file supportRobin Gareus
Ardour-2.0 put peak-files in a "broken" location for several months. Since then Ardour renamed those files. No more. When loading ancient sessions peak-files are now re-created (in the background).
2015-09-08RF64, RF64 (WAV) and MBWF native file header formatsPaul Davis
2015-09-08new enums required for RF64 => RIFF and MBWF supportPaul Davis
2015-09-08Replaced broken code in recent_sessions.ccGuy Sherman
The original broken code was intended to stop using ifstream and ofstream to open files, but it used a very old MSVCism to open streams from FILE*. In the case for reading, this patch replaces that code by using standard c file manipulation to read the data into a stringstream, and then it uses the existing stream-based code to read from there. Similarly the ofstream in the code for writing the recent files list is replaced by a stringstream, and then a c-string is extracted from it and written using standard c file manipulation. Also tweaked a couple of typos from rgareus :)
2015-09-08Use glib to open our 'recent file' list, rather than opening directly with ↵John Emmas
ifstream / ofstream (on Windows, ifstream & ofstream don't support UTF8)
2015-09-07fix some more uninitialized varsRobin Gareus
2015-09-06libardour: initialize some uninitialized vars..Robin Gareus
2015-09-06terminate peak-file creation on session-closeRobin Gareus
2015-09-05create peak files in background when loading sessionRobin Gareus
2015-09-05Add a newly introduced source to our MSVC project (libardour)John Emmas
2015-09-05provide details about session-creation failure.Robin Gareus
2015-09-05unit-test: set instance name to pre-configure dummy engineRobin Gareus
2015-09-04print insanity-check message only in debug buildsRobin Gareus
2015-09-04Fix invalid error message when selecting directories/folders in Import dialogTim Mayberry
On linux SndFileSource::get_soundfile_info was being called with an empty path value when clicking on a folder in the left side part of the file browser which resulted in an unnecessary error message. On Windows every time a directory was selected in the Import dialog, SndFileSource::get_soundfile_info would fail to open the directory in read only mode and produce an error, but as we don't want to query/open soundfile info for directories anyway just test and return if the path is a directory.
2015-09-03Review changesMathias Buhr
2015-09-03Fixes case where audiofiles used wrong peakfilesMathias Buhr
2015-09-03Use const reference and renames variableMathias Buhr
2015-09-02another -Wabsolute-value fixRobin Gareus
2015-09-02rework AudioUnit variable input port count.Robin Gareus
2015-09-02Add API to AudioBackend to request update to devicesTim Mayberry
2015-09-02Add debug bit for AudioBackends for port related debug outputTim Mayberry
2015-09-02Move AudioBackend related debug bits into libardourTim Mayberry
I put these in libpbd as that is where the debug bits are for the Waves backend but I think it makes more sense for them to be in libardour as that is where the AudioBackend class is defined I left the Waves debug bits in libpbd for now.
2015-09-02Add enums to AudioBackend class for getting standard error and device name ↵Tim Mayberry
strings These could also be used for return values but are initially intended for shared translations of error messages between backends. Ideally IMO translation should occur in the GUI(as there may be more than one) in response to these(or similar) error codes but that would take agreement and a fair bit of refactoring. As it is there are errors that occur in the backends that users will want to know about this at least allows consistent translations to be shared between backends.
2015-09-01Prepare option to disable Plugins completelyRobin Gareus
old behavior to only bypassed plugins is being renamed.
2015-09-01fix AU port count - NI Reaktor5Robin Gareus
2015-08-28fix crash with missing .midRobin Gareus
assert in ARDOUR::MidiRegion::control() boost::shared_ptr<ARDOUR::MidiModel>::operator-> invalid ptr. see http://pastebin.com/dTV10Zu6
2015-08-28fix possible deadlock on session-closeRobin Gareus
2015-08-28synchronous shutdown of process graph.Robin Gareus
2015-08-28pre-seed session-state-version.Robin Gareus
copying/paste of many objects use ::set_state(, version) to set the the state of the copy. Stateful::loading_state_version is used for state-version in those cases. This fails for a New Session (version==0) or when creating a New Session after loading an Ardour2 session.
2015-08-28Don't truncate pretty port names when setting up port bundlesTim Mayberry
This was causing truncation in the mixer strip input/output popup menus and the channel number identifier was truncated
2015-08-27clarify midi-iterator commentRobin Gareus
2015-08-27Modify some functions to alleviate overflow / precision errorsJohn Emmas
'session_frame_to_track_frame()' and its complement, 'track_frame_to_session_frame()' both accept a double and an ARDOUR::framepost_t (int64_t). For convenience these both get converted to long double. However, the functions are often called with very large values (ARDOUR::max_framepos). When this happens, rounding and precision errors can cause overflow issues. This is an attempt to alleviate that problem. Not sure if it's strictly necessary to accommodate negative values - but I'm assuming these could happen if 'speed' was negative (reverse play?) This is the reason why 'Select All Objects' (and similar functionality) don't work for some users.
2015-08-25fix linked midi-regions on different tracks #6541Robin Gareus
A somewhat hacky solution to address missing note-off events when a linked midi-region is used on separate tracks at the same time. see the source-code comment for further info.