ardour.git
8 years agoAdded Mackie device files for three surfaces.
Len Ovens [Wed, 9 Sep 2015 03:58:56 +0000 (20:58 -0700)]
Added Mackie device files for three surfaces.

8 years agoMade master fader touch and jog go to _master_surface instead of first surface.
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.

8 years agoDon't unload session with Session -> Open -> Cancel, Fixes #6568
Tim Mayberry [Tue, 8 Sep 2015 23:55:18 +0000 (09:55 +1000)]
Don't unload session with Session -> Open -> Cancel, Fixes #6568

8 years agooffer up (when possible) MBWF, RF64 and RF64 (WAV) options
Paul Davis [Tue, 8 Sep 2015 21:40:18 +0000 (17:40 -0400)]
offer up (when possible) MBWF, RF64 and RF64 (WAV) options

8 years agoRF64, RF64 (WAV) and MBWF native file header formats
Paul Davis [Tue, 8 Sep 2015 21:39:41 +0000 (17:39 -0400)]
RF64, RF64 (WAV) and MBWF native file header formats

8 years agonew enums required for RF64 => RIFF and MBWF support
Paul Davis [Tue, 8 Sep 2015 21:37:02 +0000 (17:37 -0400)]
new enums required for RF64 => RIFF and MBWF support

8 years agoconfigure time detection of a patch/feature of libsndfile not yet in release
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

8 years agoNOOP, whitespace only
Guy Sherman [Tue, 8 Sep 2015 20:30:30 +0000 (22:30 +0200)]
NOOP, whitespace only

8 years agoReplaced broken code in recent_sessions.cc
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 :)

8 years agofix prev. commit
Robin Gareus [Tue, 8 Sep 2015 20:25:23 +0000 (22:25 +0200)]
fix prev. commit

8 years agoportable c-code for reading pingback/announcement message
Robin Gareus [Tue, 8 Sep 2015 19:21:28 +0000 (21:21 +0200)]
portable c-code for reading pingback/announcement message

8 years agoUse glib to open our 'recent file' list, rather than opening directly with ifstream...
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)

8 years agoUse glib to open our 'announcements' file, rather than opening directly with ofstream
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)

8 years agodummy, allow 8k buffer-size.
Robin Gareus [Tue, 8 Sep 2015 13:14:02 +0000 (15:14 +0200)]
dummy, allow 8k buffer-size.

8 years agofix redeclaration of symbol
Robin Gareus [Tue, 8 Sep 2015 10:49:24 +0000 (12:49 +0200)]
fix redeclaration of symbol

8 years agoAllow to override A/V-lock (when moving audio)
Robin Gareus [Tue, 8 Sep 2015 00:51:58 +0000 (02:51 +0200)]
Allow to override A/V-lock (when moving audio)

8 years agoAllow to override A/V-lock (when moving video)
Robin Gareus [Mon, 7 Sep 2015 23:35:35 +0000 (01:35 +0200)]
Allow to override A/V-lock (when moving video)

8 years agoadd OSX/objc valgrind suppression file
Robin Gareus [Mon, 7 Sep 2015 13:43:20 +0000 (15:43 +0200)]
add OSX/objc valgrind suppression file

8 years agoproperly clean up meter-pattern cache
Robin Gareus [Mon, 7 Sep 2015 11:35:48 +0000 (13:35 +0200)]
properly clean up meter-pattern cache

8 years agoimage-surface/software rendering as preference
Robin Gareus [Mon, 7 Sep 2015 11:35:11 +0000 (13:35 +0200)]
image-surface/software rendering as preference

8 years agofix some more uninitialized vars
Robin Gareus [Sun, 6 Sep 2015 22:00:44 +0000 (00:00 +0200)]
fix some more uninitialized vars

8 years agoWorkaround to allow loading large sessions.
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.

8 years agolibardour: initialize some uninitialized vars..
Robin Gareus [Sun, 6 Sep 2015 19:55:12 +0000 (21:55 +0200)]
libardour: initialize some uninitialized vars..

8 years agoinitialize some uninitialized variables.
Robin Gareus [Sun, 6 Sep 2015 19:54:54 +0000 (21:54 +0200)]
initialize some uninitialized variables.

really just nitpicking (keep valgrind clean).

8 years agogracefully handle LV2 GUI instantiation failure.
Robin Gareus [Sun, 6 Sep 2015 17:32:13 +0000 (19:32 +0200)]
gracefully handle LV2 GUI instantiation failure.

8 years agocatch duplicate shortcut folders.
Robin Gareus [Sun, 6 Sep 2015 16:15:48 +0000 (18:15 +0200)]
catch duplicate shortcut folders.

8 years agoDon't keep gtk-file-chooser around.
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().

8 years agoupdate region's constrained-name width with name
Robin Gareus [Sun, 6 Sep 2015 14:45:48 +0000 (16:45 +0200)]
update region's constrained-name width with name

8 years agoconsistent pango-text layout size - fixes #6490
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).

8 years agohighlight regions with pending peak-files
Robin Gareus [Sun, 6 Sep 2015 10:58:54 +0000 (12:58 +0200)]
highlight regions with pending peak-files

8 years agoproperly disconnect peak-ready connection
Robin Gareus [Sun, 6 Sep 2015 10:56:50 +0000 (12:56 +0200)]
properly disconnect peak-ready connection

8 years agofix peak-thread, GUI-thread race condition
Robin Gareus [Sun, 6 Sep 2015 10:39:53 +0000 (12:39 +0200)]
fix peak-thread, GUI-thread race condition

8 years agoterminate peak-file creation on session-close
Robin Gareus [Sun, 6 Sep 2015 09:49:47 +0000 (11:49 +0200)]
terminate peak-file creation on session-close

8 years agoanother hint for clang static analysis.
Robin Gareus [Sun, 6 Sep 2015 08:42:58 +0000 (10:42 +0200)]
another hint for clang static analysis.

8 years agofix dummy-backend driver state
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.

8 years agomode dummy speeds
Robin Gareus [Sat, 5 Sep 2015 22:46:05 +0000 (00:46 +0200)]
mode dummy speeds

8 years agoadd dummy-backend speed-selection
Robin Gareus [Sat, 5 Sep 2015 22:33:24 +0000 (00:33 +0200)]
add dummy-backend speed-selection

8 years agocreate peak files in background when loading session
Robin Gareus [Sat, 5 Sep 2015 21:28:34 +0000 (23:28 +0200)]
create peak files in background when loading session

8 years agoinitialize private variable (unit-test)
Robin Gareus [Sat, 5 Sep 2015 17:14:16 +0000 (19:14 +0200)]
initialize private variable (unit-test)

8 years agoleave a hint for clang scan-build
Robin Gareus [Sat, 5 Sep 2015 16:11:15 +0000 (18:11 +0200)]
leave a hint for clang scan-build

8 years agoAdd a newly introduced source to our MSVC project (libardour)
John Emmas [Sat, 5 Sep 2015 17:05:10 +0000 (18:05 +0100)]
Add a newly introduced source to our MSVC project (libardour)

8 years agoAdd some newly introduced sources to our MSVC project (portaudio_backend)
John Emmas [Sat, 5 Sep 2015 17:04:29 +0000 (18:04 +0100)]
Add some newly introduced sources to our MSVC project (portaudio_backend)

8 years agoAs an experiment, use PBD::ScopedFileDescriptor in preference to 'ofstream' which...
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.

8 years agofix log-scale for automation lanes.
Robin Gareus [Sat, 5 Sep 2015 15:25:59 +0000 (17:25 +0200)]
fix log-scale for automation lanes.

8 years agodon't use gain-mapping (verbose-cursor) for plugin params.
Robin Gareus [Sat, 5 Sep 2015 15:13:04 +0000 (17:13 +0200)]
don't use gain-mapping (verbose-cursor) for plugin params.

8 years agoremove a float loop counter
Robin Gareus [Sat, 5 Sep 2015 13:47:00 +0000 (15:47 +0200)]
remove a float loop counter

8 years agodisplay session create/open failure errors.
Robin Gareus [Sat, 5 Sep 2015 13:45:59 +0000 (15:45 +0200)]
display session create/open failure errors.

8 years agoprovide details about session-creation failure.
Robin Gareus [Sat, 5 Sep 2015 11:16:26 +0000 (13:16 +0200)]
provide details about session-creation failure.

8 years agoadd missing include
Robin Gareus [Sat, 5 Sep 2015 09:36:16 +0000 (11:36 +0200)]
add missing include

8 years agounit-test: set instance name to pre-configure dummy engine
Robin Gareus [Fri, 4 Sep 2015 23:16:10 +0000 (01:16 +0200)]
unit-test: set instance name to pre-configure dummy engine

8 years agoDummy-Backend: special case unit-test
Robin Gareus [Fri, 4 Sep 2015 23:15:28 +0000 (01:15 +0200)]
Dummy-Backend: special case unit-test

8 years agofix bitwise enum parsing
Robin Gareus [Fri, 4 Sep 2015 22:00:16 +0000 (00:00 +0200)]
fix bitwise enum parsing

8 years agoprint insanity-check message only in debug builds
Robin Gareus [Fri, 4 Sep 2015 20:36:14 +0000 (22:36 +0200)]
print insanity-check message only in debug builds

8 years agoFix invalid error message when selecting directories/folders in Import dialog
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.

8 years agoRemove Apply button in Import dialog/Window and change OK to "Import"
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.

8 years agoChange Cancel button in Import Dialog to 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

8 years agoIndentation and whitespace fixes in sfdb_ui.h
Tim Mayberry [Thu, 3 Sep 2015 12:13:43 +0000 (22:13 +1000)]
Indentation and whitespace fixes in sfdb_ui.h

8 years agoReview changes
Mathias Buhr [Thu, 3 Sep 2015 08:05:36 +0000 (10:05 +0200)]
Review changes

8 years agoFixes case where audiofiles used wrong peakfiles
Mathias Buhr [Sat, 29 Aug 2015 11:48:05 +0000 (13:48 +0200)]
Fixes case where audiofiles used wrong peakfiles

8 years agoUse const reference and renames variable
Mathias Buhr [Sat, 29 Aug 2015 11:45:43 +0000 (13:45 +0200)]
Use const reference and renames variable

8 years agoanother -Wabsolute-value fix
Robin Gareus [Wed, 2 Sep 2015 20:57:16 +0000 (22:57 +0200)]
another -Wabsolute-value fix

8 years agorework AudioUnit variable input port count.
Robin Gareus [Wed, 2 Sep 2015 19:05:09 +0000 (21:05 +0200)]
rework AudioUnit variable input port count.

8 years agoa couple of debug output statements to help diagnose a crash, part 2
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

8 years agoa couple of debug output statements to help diagnose a crash
Paul Davis [Wed, 2 Sep 2015 16:24:37 +0000 (12:24 -0400)]
a couple of debug output statements to help diagnose a crash

8 years agofix typo in 434416c
Robin Gareus [Wed, 2 Sep 2015 14:03:44 +0000 (16:03 +0200)]
fix typo in 434416c

8 years agoshow compile-time cpu-arch in about - closes #6548
Robin Gareus [Wed, 2 Sep 2015 13:08:20 +0000 (15:08 +0200)]
show compile-time cpu-arch in about - closes #6548

8 years agowaveform, mutex for _current_image
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

8 years agoreplace "None" with DeviceNone in ALSA/Coreaudio
Robin Gareus [Wed, 2 Sep 2015 11:33:40 +0000 (13:33 +0200)]
replace "None" with DeviceNone in ALSA/Coreaudio

TODO: separate MidiSystemNone

8 years agoAdd debug output for errors when setting MMCSS thread characteristics
Tim Mayberry [Tue, 1 Sep 2015 02:37:24 +0000 (12:37 +1000)]
Add debug output for errors when setting MMCSS thread characteristics

8 years agoUse MMCSS utility functions in PortaudioBackend
Tim Mayberry [Tue, 1 Sep 2015 00:00:33 +0000 (10:00 +1000)]
Use MMCSS utility functions in PortaudioBackend

8 years agoAdd utility functions in PortaudioBackend for re/setting MMCSS thread characteristics
Tim Mayberry [Mon, 31 Aug 2015 23:57:17 +0000 (09:57 +1000)]
Add utility functions in PortaudioBackend for re/setting MMCSS thread characteristics

8 years agoPass input and output audio buffers into PortaudioBackend blocking process function
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

8 years agoAdd audio_utils.h header in PortaudioBackend for de/interleaving audio data
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

8 years agoAdd two utility methods to abstract PortAudioBackend state
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

8 years agoExtract MIDI input/output processing in PortAudioBackend into new methods
Tim Mayberry [Thu, 27 Aug 2015 08:07:25 +0000 (18:07 +1000)]
Extract MIDI input/output processing in PortAudioBackend into new methods

8 years agoAdd a DSPLoadCalculator class to the PortAudioBackend for DSP load calculation
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

8 years agoFix include style of system header
Tim Mayberry [Thu, 27 Aug 2015 05:23:10 +0000 (15:23 +1000)]
Fix include style of system header

8 years agoExtract main processing section of PortAudioBackend into new method
Tim Mayberry [Thu, 27 Aug 2015 07:40:36 +0000 (17:40 +1000)]
Extract main processing section of PortAudioBackend into new method

8 years agoExtract freewheel processing in 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

8 years agoDon't update unused dsp timer variable in freewheel process in PortaudioBackend
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

8 years agoRefactor port change handling part of PA Backend process function into new method
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

8 years agoRename variables in PortaudioBackend in preparation for using PA callback API
Tim Mayberry [Wed, 26 Aug 2015 11:42:05 +0000 (21:42 +1000)]
Rename variables in PortaudioBackend in preparation for using PA callback API

8 years agoFix copy and paste error in debug output message in WINMME Midi Output
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

8 years agoSignal WinMME Midi output thread so the thread wakes up and terminates properly
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

8 years agoStop WINMME midi driver/devices when PortAudio backend is stopped
Tim Mayberry [Wed, 26 Aug 2015 11:39:21 +0000 (21:39 +1000)]
Stop WINMME midi driver/devices when PortAudio backend is stopped

8 years agoRefactor part of PortAudioBackend::_start/stop into new methods
Tim Mayberry [Wed, 26 Aug 2015 11:18:44 +0000 (21:18 +1000)]
Refactor part of PortAudioBackend::_start/stop into new methods

8 years agoDon't add "None" devices for ASIO driver in PortaudioBackend
Tim Mayberry [Wed, 26 Aug 2015 02:36:31 +0000 (12:36 +1000)]
Don't add "None" devices for ASIO driver in PortaudioBackend

8 years agoAdd utility method for choosing which device/s to display in Audio Setup dialog
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

8 years agoUse previously set buffer size in EngineDialog if possible
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.

8 years agoAdd "Refresh Devices" button in Audio Setup dialog for backends that support it
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.

8 years agoAdd some debugging output for state restoration in Audio Setup dialog
Tim Mayberry [Tue, 25 Aug 2015 12:56:27 +0000 (22:56 +1000)]
Add some debugging output for state restoration in Audio Setup dialog

8 years agoRemove Apply button from Audio Setup dialog now that there is a start/stop button
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

8 years agoChange "Stop" button into a Start/Stop button in Audio Setup dialog
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

8 years agoImplement new AudioBackend API for force updating devices in PortaudioBackend
Tim Mayberry [Tue, 25 Aug 2015 07:23:07 +0000 (17:23 +1000)]
Implement new AudioBackend API for force updating devices in PortaudioBackend

8 years agoAdd API to AudioBackend to request update to devices
Tim Mayberry [Tue, 25 Aug 2015 07:21:31 +0000 (17:21 +1000)]
Add API to AudioBackend to request update to devices

8 years agoUpdate devices in PortaudioBackend when setting the driver
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

8 years agoRename several methods in PortAudioIO class
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

8 years agoRefactor part of PortAudioIO::pcm_setup into new method
Tim Mayberry [Mon, 24 Aug 2015 08:35:43 +0000 (18:35 +1000)]
Refactor part of PortAudioIO::pcm_setup into new method

8 years agoChange the functions related to initializing the Portaudio library
Tim Mayberry [Mon, 24 Aug 2015 02:57:34 +0000 (12:57 +1000)]
Change the functions related to initializing the Portaudio library

8 years agoRemove unused and cryptic _state member from PortAudioIO
Tim Mayberry [Mon, 24 Aug 2015 02:15:06 +0000 (12:15 +1000)]
Remove unused and cryptic _state member from PortAudioIO