13
0
Commit Graph

17664 Commits

Author SHA1 Message Date
b05912b0cb GUI part: cleanup peak-files 2015-09-15 14:44:05 +02:00
04e7cfabbe prepare peak-file cleanup/recreate. 2015-09-15 14:44:05 +02:00
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
11c0adfbae pending-peaks: checker pattern. 2015-09-15 02:28:24 +02:00
7e1baa70e4 visually indicate peak-file rebuild
Not yet a checker pattern, but closing it :)
2015-09-15 00:19:02 +02:00
8a4bf386a4 amend previous commit. 2015-09-14 21:25:57 +02:00
9a533c925b fix short x-fade rendering 2015-09-14 21:18:56 +02:00
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
67aa2f8763 fix bundled LV2 plugin deployment.
Ardour Application bundles use uppercase LV2, consistent with LV2 
"the name" on http://lv2plug.in/  and the recommendation for OSX & Win
on http://lv2plug.in/pages/filesystem-hierarchy-standard.html/

Since this is for internal-use only, so we do not need to follow the lowercase Unix recommendation.
2015-09-14 03:24:21 +02:00
d83889079b hack around a bug in cppunit/mingw/windows. 2015-09-13 20:23:12 +02:00
e45db26d97 adjust precision to specified value, avoid "0". 2015-09-13 20:12:10 +02:00
8e8f8d92c2 allow to run unit-test under wine from srcdir. 2015-09-13 15:30:00 +02:00
aabc5108f3 Revert inadvertently pushed commit
This reverts commit 3a6114c025.
The actual solution is http://dev.drobilla.net/ticket/1085
2015-09-13 04:10:14 +02:00
69ff6d0507 fix mismatched delete/free 2015-09-13 04:09:24 +02:00
3a6114c025 center, don't expand plugin widgets 2015-09-13 04:09:24 +02:00
6f6dde4f06 Fix typo in DSPLoadCalculator causing assertions on Windows debug builds 2015-09-13 09:01:26 +10:00
dae330489b valgrind: only use objc supression file on OSX 2015-09-12 21:48:26 +02:00
4a1f5c7f28 GUI part of memleak fixes 2015-09-12 20:05:46 +02:00
eb998b3264 plug some memory leaks in libs 2015-09-12 20:05:25 +02:00
cb6c975417 remove cruft 2015-09-12 17:55:04 +02:00
fd17b40e6f trick ardour to print main-thead mem-pool stats. 2015-09-12 02:18:38 +02:00
a5e3371b80 Event Pool usage debugging, see also 6ade16b38 2015-09-12 02:18:38 +02:00
ec06f2c49f spelling error fixes (notably "overriden" => "overidden") from IOhannes m zmölnig 2015-09-11 09:23:43 -04:00
6048d2cd23 Have GUI Option reflect current state (in case toggle fails) 2015-09-11 13:21:16 +02:00
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
6f038a61b5 add gcc5 ABI test tool 2015-09-11 12:40:39 +02:00
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
bfd66b2ea0 use PortManager::port_name_prefix_is_unique to check for new route names 2015-09-10 16:41:34 -04:00
c7e755b25c add PortManager::port_name_prefix_is_unique() 2015-09-10 16:41:34 -04:00
306f234a5b session->path() returns a dir (not the session file) 2015-09-10 17:39:32 +02:00
f970022838 ditto for the announcement message 2015-09-10 17:39:32 +02:00
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
b7fbd4e9c0 fix a small memleak.
downcase(char*) requires free(), downcase(std::string) does not.
2015-09-10 17:39:31 +02:00
1ebe22eeed catch mem-leaks more easily. 2015-09-10 17:39:31 +02:00
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
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
a86aa9e5bc use FileSource::within_session() for peak-files 2015-09-10 16:47:26 +02:00
b3e8495662 remove duplicate enum registration 2015-09-10 08:15:11 -04:00
3eb7ee6ac1 Check that a route has a track before trying to insert time on it.
Routes which are busses don't have a track, and thus no playlists either:
avoid a crash when inserting time when a bus is selected and 'all
playlists' is chosen.
2015-09-10 11:50:20 +01:00
1a6c08dcfc Make sure that the DSPLoadCalculator class is exportable 2015-09-10 10:24:04 +01:00
d2e083397c Add support for newly introduced class ARDOUR::DSPLoadCalculator (when building with MSVC) 2015-09-10 10:22:38 +01:00
28803fface Remove DSPLoadCalculator class in portaudio backend source 2015-09-10 12:12:56 +10:00
c2e5bdedff Use ARDOUR::DSPLoadCalculator in PortAudioBackend 2015-09-10 12:12:56 +10:00
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
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
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
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
48579d42b0 update libltc to v1.1.4-4-gb034a23 (endianess issue) 2015-09-09 16:54:26 +02:00
6982213198 Added Mackie device files for three surfaces. 2015-09-08 20:58:56 -07:00
f8912b8b57 Made master fader touch and jog go to _master_surface instead of first surface. 2015-09-08 20:47:16 -07:00