Robin Gareus [Thu, 10 Sep 2015 14:39:35 +0000 (16:39 +0200)]
use FileSource::within_session() for peak-files
Paul Davis [Thu, 10 Sep 2015 12:10:27 +0000 (08:10 -0400)]
remove duplicate enum registration
Colin Fletcher [Thu, 10 Sep 2015 10:50:20 +0000 (11:50 +0100)]
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.
John Emmas [Thu, 10 Sep 2015 09:24:04 +0000 (10:24 +0100)]
Make sure that the DSPLoadCalculator class is exportable
John Emmas [Thu, 10 Sep 2015 09:22:38 +0000 (10:22 +0100)]
Add support for newly introduced class ARDOUR::DSPLoadCalculator (when building with MSVC)
Tim Mayberry [Thu, 10 Sep 2015 01:48:52 +0000 (11:48 +1000)]
Remove DSPLoadCalculator class in portaudio backend source
Tim Mayberry [Thu, 10 Sep 2015 01:46:34 +0000 (11:46 +1000)]
Use ARDOUR::DSPLoadCalculator in PortAudioBackend
Tim Mayberry [Thu, 10 Sep 2015 01:44:39 +0000 (11:44 +1000)]
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%
Robin Gareus [Wed, 9 Sep 2015 22:55:28 +0000 (00:55 +0200)]
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.
Robin Gareus [Wed, 9 Sep 2015 22:48:10 +0000 (00:48 +0200)]
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
Robin Gareus [Tue, 8 Sep 2015 18:13:56 +0000 (20:13 +0200)]
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).
Robin Gareus [Wed, 9 Sep 2015 14:54:26 +0000 (16:54 +0200)]
update libltc to
v1.1.4-4-gb034a23 (endianess issue)
Len Ovens [Wed, 9 Sep 2015 03:58:56 +0000 (20:58 -0700)]
Added Mackie device files for three surfaces.
Len Ovens [Wed, 9 Sep 2015 03:47:16 +0000 (20:47 -0700)]
Made master fader touch and jog go to _master_surface instead of first surface.
Tim Mayberry [Tue, 8 Sep 2015 23:55:18 +0000 (09:55 +1000)]
Don't unload session with Session -> Open -> Cancel, Fixes #6568
Paul Davis [Tue, 8 Sep 2015 21:40:18 +0000 (17:40 -0400)]
offer up (when possible) MBWF, RF64 and RF64 (WAV) options
Paul Davis [Tue, 8 Sep 2015 21:39:41 +0000 (17:39 -0400)]
RF64, RF64 (WAV) and MBWF native file header formats
Paul Davis [Tue, 8 Sep 2015 21:37:02 +0000 (17:37 -0400)]
new enums required for RF64 => RIFF and MBWF support
Paul Davis [Tue, 8 Sep 2015 21:36:02 +0000 (17:36 -0400)]
configure time detection of a patch/feature of libsndfile not yet in release
Guy Sherman [Tue, 8 Sep 2015 20:30:30 +0000 (22:30 +0200)]
NOOP, whitespace only
Guy Sherman [Tue, 8 Sep 2015 20:28:30 +0000 (22:28 +0200)]
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 :)
Robin Gareus [Tue, 8 Sep 2015 20:25:23 +0000 (22:25 +0200)]
fix prev. commit
Robin Gareus [Tue, 8 Sep 2015 19:21:28 +0000 (21:21 +0200)]
portable c-code for reading pingback/announcement message
John Emmas [Tue, 8 Sep 2015 14:43:23 +0000 (15:43 +0100)]
Use glib to open our 'recent file' list, rather than opening directly with ifstream / ofstream
(on Windows, ifstream & ofstream don't support UTF8)
John Emmas [Tue, 8 Sep 2015 14:38:17 +0000 (15:38 +0100)]
Use glib to open our 'announcements' file, rather than opening directly with ofstream
(on Windows, std::ofstream doesn't support UTF8)
Robin Gareus [Tue, 8 Sep 2015 13:14:02 +0000 (15:14 +0200)]
dummy, allow 8k buffer-size.
Robin Gareus [Tue, 8 Sep 2015 10:49:24 +0000 (12:49 +0200)]
fix redeclaration of symbol
Robin Gareus [Tue, 8 Sep 2015 00:51:58 +0000 (02:51 +0200)]
Allow to override A/V-lock (when moving audio)
Robin Gareus [Mon, 7 Sep 2015 23:35:35 +0000 (01:35 +0200)]
Allow to override A/V-lock (when moving video)
Robin Gareus [Mon, 7 Sep 2015 13:43:20 +0000 (15:43 +0200)]
add OSX/objc valgrind suppression file
Robin Gareus [Mon, 7 Sep 2015 11:35:48 +0000 (13:35 +0200)]
properly clean up meter-pattern cache
Robin Gareus [Mon, 7 Sep 2015 11:35:11 +0000 (13:35 +0200)]
image-surface/software rendering as preference
Robin Gareus [Sun, 6 Sep 2015 22:00:44 +0000 (00:00 +0200)]
fix some more uninitialized vars
Robin Gareus [Sun, 6 Sep 2015 20:36:09 +0000 (22:36 +0200)]
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.
Robin Gareus [Sun, 6 Sep 2015 19:55:12 +0000 (21:55 +0200)]
libardour: initialize some uninitialized vars..
Robin Gareus [Sun, 6 Sep 2015 19:54:54 +0000 (21:54 +0200)]
initialize some uninitialized variables.
really just nitpicking (keep valgrind clean).
Robin Gareus [Sun, 6 Sep 2015 17:32:13 +0000 (19:32 +0200)]
gracefully handle LV2 GUI instantiation failure.
Robin Gareus [Sun, 6 Sep 2015 16:15:48 +0000 (18:15 +0200)]
catch duplicate shortcut folders.
Robin Gareus [Sun, 6 Sep 2015 16:15:13 +0000 (18:15 +0200)]
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().
Robin Gareus [Sun, 6 Sep 2015 14:45:48 +0000 (16:45 +0200)]
update region's constrained-name width with name
Robin Gareus [Sun, 6 Sep 2015 14:39:08 +0000 (16:39 +0200)]
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).
Robin Gareus [Sun, 6 Sep 2015 10:58:54 +0000 (12:58 +0200)]
highlight regions with pending peak-files
Robin Gareus [Sun, 6 Sep 2015 10:56:50 +0000 (12:56 +0200)]
properly disconnect peak-ready connection
Robin Gareus [Sun, 6 Sep 2015 10:39:53 +0000 (12:39 +0200)]
fix peak-thread, GUI-thread race condition
Robin Gareus [Sun, 6 Sep 2015 09:49:47 +0000 (11:49 +0200)]
terminate peak-file creation on session-close
Robin Gareus [Sun, 6 Sep 2015 08:42:58 +0000 (10:42 +0200)]
another hint for clang static analysis.
Robin Gareus [Sun, 6 Sep 2015 08:42:29 +0000 (10:42 +0200)]
fix dummy-backend driver state
When loading previous state, set_driver() is called before
enumerate_drivers().
The available driver list must be available early on.
Robin Gareus [Sat, 5 Sep 2015 22:46:05 +0000 (00:46 +0200)]
mode dummy speeds
Robin Gareus [Sat, 5 Sep 2015 22:33:24 +0000 (00:33 +0200)]
add dummy-backend speed-selection
Robin Gareus [Sat, 5 Sep 2015 21:28:34 +0000 (23:28 +0200)]
create peak files in background when loading session
Robin Gareus [Sat, 5 Sep 2015 17:14:16 +0000 (19:14 +0200)]
initialize private variable (unit-test)
Robin Gareus [Sat, 5 Sep 2015 16:11:15 +0000 (18:11 +0200)]
leave a hint for clang scan-build
John Emmas [Sat, 5 Sep 2015 17:05:10 +0000 (18:05 +0100)]
Add a newly introduced source to our MSVC project (libardour)
John Emmas [Sat, 5 Sep 2015 17:04:29 +0000 (18:04 +0100)]
Add some newly introduced sources to our MSVC project (portaudio_backend)
John Emmas [Sat, 5 Sep 2015 17:02:32 +0000 (18:02 +0100)]
As an experiment, use PBD::ScopedFileDescriptor in preference to 'ofstream' which doesn't support UTF8 (on Windows at least)
This change should ensure that our "been_here_before" file ('.a3' or whatever) will get created successfully - even for user paths with non-English characters in them.
If this experiment works on all platforms, there are several other areas where we'll probably need something similar.
Robin Gareus [Sat, 5 Sep 2015 15:25:59 +0000 (17:25 +0200)]
fix log-scale for automation lanes.
Robin Gareus [Sat, 5 Sep 2015 15:13:04 +0000 (17:13 +0200)]
don't use gain-mapping (verbose-cursor) for plugin params.
Robin Gareus [Sat, 5 Sep 2015 13:47:00 +0000 (15:47 +0200)]
remove a float loop counter
Robin Gareus [Sat, 5 Sep 2015 13:45:59 +0000 (15:45 +0200)]
display session create/open failure errors.
Robin Gareus [Sat, 5 Sep 2015 11:16:26 +0000 (13:16 +0200)]
provide details about session-creation failure.
Robin Gareus [Sat, 5 Sep 2015 09:36:16 +0000 (11:36 +0200)]
add missing include
Robin Gareus [Fri, 4 Sep 2015 23:16:10 +0000 (01:16 +0200)]
unit-test: set instance name to pre-configure dummy engine
Robin Gareus [Fri, 4 Sep 2015 23:15:28 +0000 (01:15 +0200)]
Dummy-Backend: special case unit-test
Robin Gareus [Fri, 4 Sep 2015 22:00:16 +0000 (00:00 +0200)]
fix bitwise enum parsing
Robin Gareus [Fri, 4 Sep 2015 20:36:14 +0000 (22:36 +0200)]
print insanity-check message only in debug builds
Tim Mayberry [Fri, 4 Sep 2015 01:24:56 +0000 (11:24 +1000)]
Fix invalid error message when selecting directories/folders in Import dialog
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.
Tim Mayberry [Thu, 3 Sep 2015 13:10:42 +0000 (23:10 +1000)]
Remove Apply button in Import dialog/Window and change OK to "Import"
Don't close the window when clicking on Import. Changing "OK" to "Import" makes
it clear what action is being taken by the button. I quite frequently imported
several files from different directories using "Apply" and then would click on
OK to finish using the dialog only to have the last import occur again
unintentionally.
Another option would of been to change "Apply" to "Import" and "OK" to "Import
and Close" and not have a Close button.
Tim Mayberry [Thu, 3 Sep 2015 12:32:53 +0000 (22:32 +1000)]
Change Cancel button in Import Dialog to Close button
This button closes the window, it doesn't actually cancel any importing that
has taken place and cancelling the import in progress is done by the Cancel
button in popup progress dialog
Tim Mayberry [Thu, 3 Sep 2015 12:13:43 +0000 (22:13 +1000)]
Indentation and whitespace fixes in sfdb_ui.h
Mathias Buhr [Thu, 3 Sep 2015 08:05:36 +0000 (10:05 +0200)]
Review changes
Mathias Buhr [Sat, 29 Aug 2015 11:48:05 +0000 (13:48 +0200)]
Fixes case where audiofiles used wrong peakfiles
Mathias Buhr [Sat, 29 Aug 2015 11:45:43 +0000 (13:45 +0200)]
Use const reference and renames variable
Robin Gareus [Wed, 2 Sep 2015 20:57:16 +0000 (22:57 +0200)]
another -Wabsolute-value fix
Robin Gareus [Wed, 2 Sep 2015 19:05:09 +0000 (21:05 +0200)]
rework AudioUnit variable input port count.
Paul Davis [Wed, 2 Sep 2015 16:58:07 +0000 (12:58 -0400)]
a couple of debug output statements to help diagnose a crash, part 2
Paul Davis [Wed, 2 Sep 2015 16:24:37 +0000 (12:24 -0400)]
a couple of debug output statements to help diagnose a crash
Robin Gareus [Wed, 2 Sep 2015 14:03:44 +0000 (16:03 +0200)]
Robin Gareus [Wed, 2 Sep 2015 13:08:20 +0000 (15:08 +0200)]
show compile-time cpu-arch in about - closes #6548
Robin Gareus [Wed, 2 Sep 2015 12:28:26 +0000 (14:28 +0200)]
waveform, mutex for _current_image
may be used in render-thread while invalidate_image_cache() is called.
possible fix for #6478
Robin Gareus [Wed, 2 Sep 2015 11:33:40 +0000 (13:33 +0200)]
replace "None" with DeviceNone in ALSA/Coreaudio
TODO: separate MidiSystemNone
Tim Mayberry [Tue, 1 Sep 2015 02:37:24 +0000 (12:37 +1000)]
Add debug output for errors when setting MMCSS thread characteristics
Tim Mayberry [Tue, 1 Sep 2015 00:00:33 +0000 (10:00 +1000)]
Use MMCSS utility functions in PortaudioBackend
Tim Mayberry [Mon, 31 Aug 2015 23:57:17 +0000 (09:57 +1000)]
Add utility functions in PortaudioBackend for re/setting MMCSS thread characteristics
Tim Mayberry [Mon, 31 Aug 2015 11:56:04 +0000 (21:56 +1000)]
Pass input and output audio buffers into PortaudioBackend blocking process function
This makes it possible to reuse the method for callback based processing
Tim Mayberry [Mon, 31 Aug 2015 10:28:07 +0000 (20:28 +1000)]
Add audio_utils.h header in PortaudioBackend for de/interleaving audio data
Tim Mayberry [Thu, 27 Aug 2015 08:52:08 +0000 (18:52 +1000)]
Add two utility methods to abstract PortAudioBackend state
These may change as support for callback API is added
Tim Mayberry [Thu, 27 Aug 2015 08:07:25 +0000 (18:07 +1000)]
Extract MIDI input/output processing in PortAudioBackend into new methods
Tim Mayberry [Thu, 27 Aug 2015 07:09:04 +0000 (17:09 +1000)]
Add a DSPLoadCalculator class to the PortAudioBackend for DSP load calculation
The class uses the same algorithm as in the coreaudio and alsa backends and
should probably go into libardour at some point
Tim Mayberry [Thu, 27 Aug 2015 05:23:10 +0000 (15:23 +1000)]
Fix include style of system header
Tim Mayberry [Thu, 27 Aug 2015 07:40:36 +0000 (17:40 +1000)]
Extract main processing section of PortAudioBackend into new method
Tim Mayberry [Thu, 27 Aug 2015 01:41:00 +0000 (11:41 +1000)]
Extract freewheel processing in PortAudioBackend into new method
Tim Mayberry [Thu, 27 Aug 2015 01:24:17 +0000 (11:24 +1000)]
Don't update unused dsp timer variable in freewheel process in PortaudioBackend
Tim Mayberry [Wed, 26 Aug 2015 12:17:37 +0000 (22:17 +1000)]
Refactor port change handling part of PA Backend process function into new method
Tim Mayberry [Wed, 26 Aug 2015 11:42:05 +0000 (21:42 +1000)]
Rename variables in PortaudioBackend in preparation for using PA callback API
Tim Mayberry [Fri, 28 Aug 2015 12:32:29 +0000 (22:32 +1000)]
Fix copy and paste error in debug output message in WINMME Midi Output
Tim Mayberry [Fri, 28 Aug 2015 12:33:21 +0000 (22:33 +1000)]
Signal WinMME Midi output thread so the thread wakes up and terminates properly
Tim Mayberry [Wed, 26 Aug 2015 11:39:21 +0000 (21:39 +1000)]
Stop WINMME midi driver/devices when PortAudio backend is stopped
Tim Mayberry [Wed, 26 Aug 2015 11:18:44 +0000 (21:18 +1000)]
Refactor part of PortAudioBackend::_start/stop into new methods
Tim Mayberry [Wed, 26 Aug 2015 02:36:31 +0000 (12:36 +1000)]
Don't add "None" devices for ASIO driver in PortaudioBackend
Tim Mayberry [Tue, 25 Aug 2015 14:16:36 +0000 (00:16 +1000)]
Add utility method for choosing which device/s to display in Audio Setup dialog