Commit graph

9278 commits

Author SHA1 Message Date
John Emmas
d2e083397c Add support for newly introduced class ARDOUR::DSPLoadCalculator (when building with MSVC) 2015-09-10 10:22:38 +01:00
Tim Mayberry
28803fface Remove DSPLoadCalculator class in portaudio backend source 2015-09-10 12:12:56 +10:00
Tim Mayberry
c2e5bdedff Use ARDOUR::DSPLoadCalculator in PortAudioBackend 2015-09-10 12:12:56 +10:00
Tim Mayberry
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
48579d42b0 update libltc to v1.1.4-4-gb034a23 (endianess issue) 2015-09-09 16:54:26 +02:00
Len Ovens
f8912b8b57 Made master fader touch and jog go to _master_surface instead of first surface. 2015-09-08 20:47:16 -07:00
Paul Davis
bbfb53e881 RF64, RF64 (WAV) and MBWF native file header formats 2015-09-08 17:40:28 -04:00
Paul Davis
f1c0f587ca new enums required for RF64 => RIFF and MBWF support 2015-09-08 17:40:28 -04: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
John Emmas
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
Robin Gareus
d11b15fbca dummy, allow 8k buffer-size. 2015-09-08 15:14:02 +02:00
Robin Gareus
fcbf359dd6 properly clean up meter-pattern cache 2015-09-07 13:35:48 +02:00
Robin Gareus
d6a5e6fc2e fix some more uninitialized vars 2015-09-07 00:00:44 +02:00
Robin Gareus
1e404da10d libardour: initialize some uninitialized vars.. 2015-09-06 21:55:12 +02:00
Robin Gareus
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
Robin Gareus
ef3a42faed terminate peak-file creation on session-close 2015-09-06 11:49:47 +02:00
Robin Gareus
f5f11158aa another hint for clang static analysis. 2015-09-06 10:42:58 +02:00
Robin Gareus
788234e317 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.
2015-09-06 10:42:29 +02:00
Robin Gareus
3fc5bf617a mode dummy speeds 2015-09-06 00:46:05 +02:00
Robin Gareus
4ef62a0d6d add dummy-backend speed-selection 2015-09-06 00:33:24 +02:00
Robin Gareus
7f00c70f9f create peak files in background when loading session 2015-09-05 23:28:34 +02:00
Robin Gareus
bea9bf5387 initialize private variable (unit-test) 2015-09-05 19:16:50 +02:00
Robin Gareus
482bd4b51c leave a hint for clang scan-build 2015-09-05 19:16:50 +02:00
John Emmas
c6272812e2 Add a newly introduced source to our MSVC project (libardour) 2015-09-05 18:05:10 +01:00
John Emmas
7e589dcda2 Add some newly introduced sources to our MSVC project (portaudio_backend) 2015-09-05 18:04:29 +01:00
Robin Gareus
42f0142bb9 remove a float loop counter 2015-09-05 15:47:00 +02:00
Robin Gareus
56eae394cc provide details about session-creation failure. 2015-09-05 15:44:41 +02:00
Robin Gareus
ebfd0782e1 add missing include 2015-09-05 11:36:16 +02:00
Robin Gareus
d84bc9123f unit-test: set instance name to pre-configure dummy engine 2015-09-05 01:16:10 +02:00
Robin Gareus
d6df63ed91 Dummy-Backend: special case unit-test 2015-09-05 01:15:28 +02:00
Robin Gareus
b66bf67030 fix bitwise enum parsing 2015-09-05 00:00:16 +02:00
Robin Gareus
015b588d65 print insanity-check message only in debug builds 2015-09-04 22:36:14 +02:00
Tim Mayberry
ad6c71e1fd 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.
2015-09-04 11:50:08 +10:00
Mathias Buhr
cfb10eba35 Review changes 2015-09-03 10:05:36 +02:00
Mathias Buhr
624f76b229 Fixes case where audiofiles used wrong peakfiles 2015-09-03 09:54:23 +02:00
Mathias Buhr
95b144ee58 Use const reference and renames variable 2015-09-03 09:54:23 +02:00
Robin Gareus
30af404def another -Wabsolute-value fix 2015-09-02 22:57:16 +02:00
Robin Gareus
c7b64803d9 rework AudioUnit variable input port count. 2015-09-02 21:05:09 +02:00
Paul Davis
2f69ee8ec8 a couple of debug output statements to help diagnose a crash, part 2 2015-09-02 12:58:07 -04:00
Paul Davis
e91a0f7e11 a couple of debug output statements to help diagnose a crash 2015-09-02 12:24:37 -04:00
Robin Gareus
93aa8d3734 waveform, mutex for _current_image
may be used in render-thread while invalidate_image_cache() is called.
possible fix for #6478
2015-09-02 14:28:26 +02:00
Robin Gareus
fa32fa1abe replace "None" with DeviceNone in ALSA/Coreaudio
TODO: separate MidiSystemNone
2015-09-02 13:33:40 +02:00
Tim Mayberry
7521028831 Add debug output for errors when setting MMCSS thread characteristics 2015-09-02 12:07:59 +10:00
Tim Mayberry
3618689103 Use MMCSS utility functions in PortaudioBackend 2015-09-02 12:07:59 +10:00
Tim Mayberry
b288a40220 Add utility functions in PortaudioBackend for re/setting MMCSS thread characteristics 2015-09-02 12:07:59 +10:00
Tim Mayberry
77ce989dfa Pass input and output audio buffers into PortaudioBackend blocking process function
This makes it possible to reuse the method for callback based processing
2015-09-02 12:07:59 +10:00
Tim Mayberry
a6fb71022f Add audio_utils.h header in PortaudioBackend for de/interleaving audio data 2015-09-02 12:07:59 +10:00