Tim Mayberry
08e18a0cb4
Move implementation for DSPLoadCalculator back into header
...
It can be inline now that it is much simpler
2015-09-16 11:22:16 +10:00
Tim Mayberry
f5e7aa11f9
Use same algorithm as CA and ALSA backends in DSPLoadCalculation
...
Stop using an averaging of the values until we can establish whether it is
really necessary.
2015-09-16 11:22:16 +10:00
Tim Mayberry
cf88bbc472
Add check for invalid timer values from the DummyBackend
...
Needed for systems where the Windows QPC timer returns erratic values
2015-09-16 11:22:16 +10:00
Tim Mayberry
b2a7393553
Change types in DSPLoadCalculator to signed integer after change in utils::get_microsecond
2015-09-16 11:22:16 +10:00
Tim Mayberry
a974659504
Check return value of windows timer functions and handle errors
...
Change return type of utils::get_microseconds to signed int and return -1 when
failing to read timer
2015-09-16 11:22:16 +10:00
Paul Davis
50a6487e77
move speed quietning code into Delivery, where it belongs.
...
Note: I find the -12dB reduction too much of a reduction.
2015-09-15 17:01:12 -04:00
Paul Davis
601a34521c
add an Amp to Delivery, remove it from Send, make use of this in various ::run() methods
...
Delivery::_amp now will handle monitor-related delicks assuming the Session::config.get_use_monitor_fades() is
true.
2015-09-15 16:35:37 -04:00
Robin Gareus
fc74894def
another note-off fix.
...
For nearly coincident note-on the sequence does not matter,
but note-off must be sent before a new note-on in strict
order (could be the same note).
2015-09-15 17:50:27 +02:00
Robin Gareus
4b20e719a8
prepare displaying peakfile queue-len
2015-09-15 17:50:27 +02:00
Paul Davis
bed85f98d1
logic rearrangement to avoid unnecessary call to Route::monitoring_state() in instrument/generator tracks
2015-09-15 09:08:38 -04:00
Paul Davis
392836a7d2
NO-OP: comment clarification
2015-09-15 09:06:16 -04:00
Paul Davis
952443a4b7
NO-OP: parenthesis and brace style
2015-09-15 09:05:08 -04:00
Paul Davis
2b1a30ca96
only apply transport declicking if requested to do so (default is to do so)
2015-09-15 09:00:50 -04:00
Paul Davis
563d9dfb65
add 2 new session properties related to implicit fades/gain ramps
2015-09-15 09:00:50 -04:00
Paul Davis
d92fceabb0
use an explicit black list of route names that require numbering.
...
This replaces an attempt to check port names which fails for a number of reasons.
2015-09-15 09:00:50 -04:00
Robin Gareus
04e7cfabbe
prepare peak-file cleanup/recreate.
2015-09-15 14:44:05 +02:00
John Emmas
551e20b926
Remove ifstream / ofstream when accessing session template files (or creating a new session from a template file)
...
On Windows, the above classes don't support UTF-8 so let's get rid of them and use g_fopen / stringstream / fwrite() etc.
2015-09-15 13:17:22 +01:00
Robin Gareus
8a4bf386a4
amend previous commit.
2015-09-14 21:25:57 +02:00
Robin Gareus
9a533c925b
fix short x-fade rendering
2015-09-14 21:18:56 +02:00
Robin Gareus
e63c3d028a
note-off ordering - fixes #6340
...
Evoral::Beats::operator>() rounds to (1.0 / PPQN), hardcoded 1/1920.0.
If the time difference between two events is smaller than 1/PPQN,
Beats::operator>() and Beats::operator<() produce ambiguous results.
The same pair of values is both "less than" and "greater than" depending
which operator is used.
While it's fine for some cases to ignore the order of nearly concurent
events, the std::priority_queue must be strictly ordered.
2015-09-14 04:55:01 +02:00
Robin Gareus
d83889079b
hack around a bug in cppunit/mingw/windows.
2015-09-13 20:23:12 +02:00
Robin Gareus
e45db26d97
adjust precision to specified value, avoid "0".
2015-09-13 20:12:10 +02:00
Robin Gareus
8e8f8d92c2
allow to run unit-test under wine from srcdir.
2015-09-13 15:30:00 +02:00
Robin Gareus
69ff6d0507
fix mismatched delete/free
2015-09-13 04:09:24 +02:00
Tim Mayberry
6f6dde4f06
Fix typo in DSPLoadCalculator causing assertions on Windows debug builds
2015-09-13 09:01:26 +10:00
Robin Gareus
eb998b3264
plug some memory leaks in libs
2015-09-12 20:05:25 +02:00
Robin Gareus
cb6c975417
remove cruft
2015-09-12 17:55:04 +02:00
Robin Gareus
a5e3371b80
Event Pool usage debugging, see also 6ade16b38
2015-09-12 02:18:38 +02:00
Paul Davis
ec06f2c49f
spelling error fixes (notably "overriden" => "overidden") from IOhannes m zmölnig
2015-09-11 09:23:43 -04:00
Robin Gareus
9fcc48d140
fail to create Monitor section if port-names are not unique
...
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-11 13:14:27 +02:00
Paul Davis
def273ea71
queue disk buffer overwrite when playlist layering changes.
...
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-10 16:49:15 -04:00
Paul Davis
bfd66b2ea0
use PortManager::port_name_prefix_is_unique to check for new route names
2015-09-10 16:41:34 -04:00
Paul Davis
c7e755b25c
add PortManager::port_name_prefix_is_unique()
2015-09-10 16:41:34 -04:00
Robin Gareus
8d54a2472d
fix recent session loading.
...
std::stringstream::operator<< calls strlen(), but the string in the
temp buffer may not [yet] be NULL terminated.
2015-09-10 17:39:31 +02:00
Paul Davis
0ef8175b5a
when removing routes, don't do potentially expensive work once for each route.
...
We can update solo state and tell interested parties about the removal once the actual removal is done
2015-09-10 11:35:57 -04:00
Paul Davis
cb85080ca8
fix deadlock when removing routes and using JACK1.
...
graph reorder callback needed an early exit if we were deleting routes, is all.
2015-09-10 11:35:57 -04:00
Robin Gareus
a86aa9e5bc
use FileSource::within_session() for peak-files
2015-09-10 16:47:26 +02:00
Paul Davis
b3e8495662
remove duplicate enum registration
2015-09-10 08:15:11 -04:00
John Emmas
1a6c08dcfc
Make sure that the DSPLoadCalculator class is exportable
2015-09-10 10:24:04 +01:00
John Emmas
d2e083397c
Add support for newly introduced class ARDOUR::DSPLoadCalculator (when building with MSVC)
2015-09-10 10:22:38 +01:00
Tim Mayberry
28803fface
Remove DSPLoadCalculator class in portaudio backend source
2015-09-10 12:12:56 +10:00
Tim Mayberry
c2e5bdedff
Use ARDOUR::DSPLoadCalculator in PortAudioBackend
2015-09-10 12:12:56 +10:00
Tim Mayberry
8625362cac
Add DSPLoadCalculator class to libardour
...
This is similar to the class in the PortaudioBackend but uses an average of the
values if raw load is under 80%
2015-09-10 12:12:56 +10:00
Robin Gareus
09caf8336f
allow LV2 plugins to query current block-size.
...
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-10 00:55:59 +02:00
Robin Gareus
390ea007c5
rework peakfile handling:
...
- 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-10 00:55:58 +02:00
Robin Gareus
78ff3c05a3
remove Ardour broken peak-file support
...
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-10 00:55:58 +02:00
Robin Gareus
48579d42b0
update libltc to v1.1.4-4-gb034a23 (endianess issue)
2015-09-09 16:54:26 +02:00
Len Ovens
f8912b8b57
Made master fader touch and jog go to _master_surface instead of first surface.
2015-09-08 20:47:16 -07:00
Paul Davis
bbfb53e881
RF64, RF64 (WAV) and MBWF native file header formats
2015-09-08 17:40:28 -04:00
Paul Davis
f1c0f587ca
new enums required for RF64 => RIFF and MBWF support
2015-09-08 17:40:28 -04:00