Age | Commit message (Collapse) | Author |
|
|
|
|
|
zmölnig
|
|
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.
|
|
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
|
|
|
|
|
|
std::stringstream::operator<< calls strlen(), but the string in the
temp buffer may not [yet] be NULL terminated.
|
|
We can update solo state and tell interested parties about the removal once the actual removal is done
|
|
graph reorder callback needed an early exit if we were deleting routes, is all.
|
|
|
|
|
|
|
|
building with MSVC)
|
|
This is similar to the class in the PortaudioBackend but uses an average of the
values if raw load is under 80%
|
|
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.
|
|
- 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
|
|
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).
|
|
|
|
|
|
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 :)
|
|
ifstream / ofstream
(on Windows, ifstream & ofstream don't support UTF8)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
old behavior to only bypassed plugins is being renamed.
|
|
|
|
assert in ARDOUR::MidiRegion::control() boost::shared_ptr<ARDOUR::MidiModel>::operator-> invalid ptr.
see http://pastebin.com/dTV10Zu6
|
|
|
|
|
|
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.
|
|
This was causing truncation in the mixer strip input/output popup menus and the
channel number identifier was truncated
|
|
|
|
'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.
|
|
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.
|