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
Tim Mayberry [Mon, 24 Aug 2015 23:47:50 +0000 (09:47 +1000)]
Use previously set buffer size in EngineDialog if possible
This is also to support refreshing of devices so that the buffer size isn't
reset.
Tim Mayberry [Tue, 25 Aug 2015 12:57:44 +0000 (22:57 +1000)]
Add "Refresh Devices" button in Audio Setup dialog for backends that support it
This allows the portaudio library to be reinitialized to pick up new devices
and changes to ASIO buffer changes made externally.
Tim Mayberry [Tue, 25 Aug 2015 12:56:27 +0000 (22:56 +1000)]
Add some debugging output for state restoration in Audio Setup dialog
Tim Mayberry [Tue, 25 Aug 2015 11:55:08 +0000 (21:55 +1000)]
Remove Apply button from Audio Setup dialog now that there is a start/stop button
Tim Mayberry [Tue, 25 Aug 2015 11:42:11 +0000 (21:42 +1000)]
Change "Stop" button into a Start/Stop button in Audio Setup dialog
Tim Mayberry [Tue, 25 Aug 2015 07:23:07 +0000 (17:23 +1000)]
Implement new AudioBackend API for force updating devices in PortaudioBackend
Tim Mayberry [Tue, 25 Aug 2015 07:21:31 +0000 (17:21 +1000)]
Add API to AudioBackend to request update to devices
Tim Mayberry [Mon, 24 Aug 2015 23:10:02 +0000 (09:10 +1000)]
Update devices in PortaudioBackend when setting the driver
Reinitialize portaudio to pick up changes in devices and ASIO buffer settings
Tim Mayberry [Mon, 24 Aug 2015 10:31:47 +0000 (20:31 +1000)]
Rename several methods in PortAudioIO class
return ErrorCode's and handle them where necessary
Tim Mayberry [Mon, 24 Aug 2015 08:35:43 +0000 (18:35 +1000)]
Refactor part of PortAudioIO::pcm_setup into new method
Tim Mayberry [Mon, 24 Aug 2015 02:57:34 +0000 (12:57 +1000)]
Change the functions related to initializing the Portaudio library
Tim Mayberry [Mon, 24 Aug 2015 02:15:06 +0000 (12:15 +1000)]
Remove unused and cryptic _state member from PortAudioIO
Tim Mayberry [Mon, 24 Aug 2015 00:50:00 +0000 (10:50 +1000)]
Use PortAudioIO::ErrorCode as return value from PortAudioIO::pcm_setup
Tim Mayberry [Sun, 23 Aug 2015 23:06:26 +0000 (09:06 +1000)]
Define some error codes in PortAudioIO class
Tim Mayberry [Sun, 23 Aug 2015 10:36:23 +0000 (20:36 +1000)]
Refactor parts of PortAudioIO class into new method
Tim Mayberry [Sun, 23 Aug 2015 08:38:01 +0000 (18:38 +1000)]
Refactor part of PortAudioIO::pcm_setup into 2 new methods
Tim Mayberry [Sun, 23 Aug 2015 22:59:58 +0000 (08:59 +1000)]
Make two private methods in PortAudioIO const
Tim Mayberry [Sun, 23 Aug 2015 07:37:14 +0000 (17:37 +1000)]
Refactor part of PortAudioIO::pcm_setup into new method
Tim Mayberry [Sun, 23 Aug 2015 07:08:50 +0000 (17:08 +1000)]
Add utility method to PortAudioIO class to remove goto from pcm_setup
Tim Mayberry [Sun, 23 Aug 2015 04:40:35 +0000 (14:40 +1000)]
Remove apple specific fixes from PortaudioBackend now that it is windows only