13
0
Commit Graph

17633 Commits

Author SHA1 Message Date
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
6e944121f6 Don't unload session with Session -> Open -> Cancel, Fixes #6568 2015-09-09 09:58:13 +10:00
54d216429c offer up (when possible) MBWF, RF64 and RF64 (WAV) options 2015-09-08 17:40:29 -04:00
bbfb53e881 RF64, RF64 (WAV) and MBWF native file header formats 2015-09-08 17:40:28 -04:00
f1c0f587ca new enums required for RF64 => RIFF and MBWF support 2015-09-08 17:40:28 -04:00
5f6d8aded3 configure time detection of a patch/feature of libsndfile not yet in release 2015-09-08 17:40:28 -04:00
Guy Sherman
045b878bd1 NOOP, whitespace only 2015-09-08 22:30:36 +02:00
Guy Sherman
036ebab8a0 Replaced broken code in recent_sessions.cc
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-08 22:29:20 +02:00
929db238c9 fix prev. commit 2015-09-08 22:27:15 +02:00
2f1878a6f7 portable c-code for reading pingback/announcement message 2015-09-08 21:21:28 +02:00
dee324cc36 Use glib to open our 'recent file' list, rather than opening directly with ifstream / ofstream
(on Windows, ifstream & ofstream don't support UTF8)
2015-09-08 15:45:34 +01:00
d0fdcf2848 Use glib to open our 'announcements' file, rather than opening directly with ofstream
(on Windows, std::ofstream doesn't support UTF8)
2015-09-08 15:45:33 +01:00
d11b15fbca dummy, allow 8k buffer-size. 2015-09-08 15:14:02 +02:00
78f028b690 fix redeclaration of symbol 2015-09-08 12:49:24 +02:00
c315c6f140 Allow to override A/V-lock (when moving audio) 2015-09-08 02:51:58 +02:00
88f532ed6a Allow to override A/V-lock (when moving video) 2015-09-08 01:35:35 +02:00
b08fd6483c add OSX/objc valgrind suppression file 2015-09-07 15:43:20 +02:00
fcbf359dd6 properly clean up meter-pattern cache 2015-09-07 13:35:48 +02:00
c6e0c8430f image-surface/software rendering as preference 2015-09-07 13:35:11 +02:00
d6a5e6fc2e fix some more uninitialized vars 2015-09-07 00:00:44 +02:00
6ade16b38d Workaround to allow loading large sessions.
During session-load, ardour calls Route::SoloControllable::set_value() 
which calls Session::set_solo()  which in turn sends a session-rt event.

Along with other rt-events (locations,..) the current solo logic limits
Ardour to only load sessions with about >= 200 tracks.

now bumped to a few thousand tracks.. until a proper solution comes along.
2015-09-06 22:36:09 +02:00
1e404da10d libardour: initialize some uninitialized vars.. 2015-09-06 21:55:12 +02:00
fc079a0ea3 initialize some uninitialized variables.
really just nitpicking (keep valgrind clean).
2015-09-06 21:54:54 +02:00
ebe15849d4 gracefully handle LV2 GUI instantiation failure. 2015-09-06 19:32:13 +02:00
53cdc8046f catch duplicate shortcut folders. 2015-09-06 18:15:48 +02:00
2309bb2a7f Don't keep gtk-file-chooser around.
This fixes some odd-crashes in the gtk main-thread after loading a new
session in gtk_file_system_model_sort().
2015-09-06 18:15:13 +02:00
87d45542eb update region's constrained-name width with name 2015-09-06 16:45:48 +02:00
57321bef35 consistent pango-text layout size - fixes #6490
Use gdk_pango_layout() for all text-size calculations.
In Canvas::Text always use the same context (local image surface)
for layouting (prior to this, local and window-context mix resulted in 
different sizes).
2015-09-06 16:39:08 +02:00
787fe69ff8 highlight regions with pending peak-files 2015-09-06 12:58:54 +02:00
1aa4c62abe properly disconnect peak-ready connection 2015-09-06 12:56:50 +02:00
e161bc0596 fix peak-thread, GUI-thread race condition 2015-09-06 12:39:53 +02:00
ef3a42faed terminate peak-file creation on session-close 2015-09-06 11:49:47 +02:00