13
0
Commit Graph

8212 Commits

Author SHA1 Message Date
7f659a0463 add ArdourSurface to OSC class to help reduce global namespace pollution 2015-04-15 17:21:55 -04:00
2d227a03a3 fix for memory overrun during read_peaks(), from sebastian reichelt 2015-04-15 13:32:34 -04:00
96ce9c304e Replace control list locks with RWLocks
towards fixing #6238 and #6096.


GUI thread:
#2  Glib::Threads::Mutex::Lock::Lock
#3  Evoral::ControlList::eval 
#4  Evoral::Control::get_double 
#5  ARDOUR::AutomationControl::get_value
#6  ProcessorEntry::Control::control_changed
..
#15 PBD::Timer::timeout_handler


at the same time: Audio Thread (try-lock, fails)

#0  Evoral::Curve::rt_safe_get_vector
#1  ARDOUR::Amp::setup_gain_automation
#2  ARDOUR::Route::process_output_buffers

Due to the failed try-lock.. AMP::_apply_gain_automation
is false. and Amp::run() uses a different gain factor.
-> click.
2015-04-15 18:13:56 +02:00
9391da0c24 portaudio backend: allow Pa_GetDeviceInfo to fail. 2015-04-15 03:05:09 +02:00
d00ab0221a allow to set/change loop-range via OSC 2015-04-12 23:40:35 +02:00
d0e636e1a8 remove unused local variable 2015-04-11 10:57:42 -04:00
nick_m
5ce8551576 Fix dangling location on new location -> undo. 2015-04-11 04:45:45 +10:00
30d95bbb8c Merge branch 'uk-english'
Merge the UK English localisation.
2015-04-10 18:25:58 +01:00
b3fb73812c Position (and size) canvas tooltips such that they better resemble Gtk tooltips
Mixbus in particular uses both types of tooltip so we might as well make them look the same.

N.B. The appearance is fine now on Windows but needs to be tested on the other platforms (i.e. some tweaking might be necessary).
2015-04-09 15:46:12 +01:00
2234fd4b8a Delete a canvas tooltip after we've finished with it
All canvas objects share just one tooltip object which is based around Gtk::Label. The Label expands if the current tooltip text is wider than the previous text. However, it doesn't shrink again if the next tooltip has shorter text. Eventually, this results in some very strange looking tooltips (especially in Mixbus where they're used quite extensively).

Deleting the object after use will force a new object to get generated next time (at the correct size). There's still only ever one object per canvas but it's no longer persistent.
2015-04-09 15:42:00 +01:00
0ffde76e59 Revert "prevent double declicks (click after RecStop)"
This reverts commit 6ba555c2f5.
which does not yet take monitoring states into account.

Ideally the case handled here should not happen in the
first place, It should be fixed in session_transport
transport_sub_state.
2015-04-07 15:05:00 +02:00
6ba555c2f5 prevent double declicks (click after RecStop)
If there's port-latency > period-size, there is a
split cycle with (this_event->action_frame - _transport_frame).
Yet Session::check_declick_out() keeps PendingDeclickOut if
StopPendingCapture is set. The route declick’ed twice:
Once with the period-size and one with the remaining frames,
which resulted in a click.
2015-04-07 05:25:18 +02:00
a306968283 linear declick 2015-04-07 05:25:12 +02:00
83519faffb low-pass filter gain-fader.
fixes various fader zipper noise issues.
It voids sample accuate fader automation (the fader-gain
is low-pass filtered at 10Hz). Yet all musical purposes this
makes a lot more sense than sample accuracy anyway.
2015-04-07 05:21:57 +02:00
528f945ba3 fix crash during new session creation when sync-to-JACK is enabled as a preference 2015-04-06 21:19:51 -04:00
6dea7ebfb0 changes related to resetting source paths during save-as.
This does NOT work with MIDI files at present, because of SNAFU in SMF class, where end_write()
opens the file on its own, without _file_path being set. Needs some careful work, because basically
the SMF<=>SMFSource relationship is not tenable
2015-04-06 21:18:52 -04:00
b2da3bccc0 after save-as, if switching to new session, reset all track write sources to use new session path 2015-04-06 12:05:36 -04:00
a83305169a fix ambiguous use of pow() 2015-04-05 15:13:59 -04:00
2f02b921f1 bump default silent-after-seconds duration to 10 minutes 2015-04-05 14:04:28 -04:00
8a5b5145cc add libardour code for going completely silent after a compile-time defined number of seconds 2015-04-05 14:02:30 -04:00
6a7cb8f4e8 AU preset debuging 2015-04-05 18:05:32 +02:00
cb94afa9b9 removed unusued value_as_string.cc source file 2015-04-05 11:16:17 -04:00
f0231766d7 session rename details:
* don’t allow to rename read-only sessions
* prevent periodic save (while rename is in progress)
* no renaming while actively recording (peak files
  among other things will mess things up)
2015-04-05 16:02:07 +02:00
4b485332ce fix renaming renamed session. 2015-04-05 16:01:08 +02:00
5694509bdf fix rename error message 2015-04-05 15:40:25 +02:00
1395125283 update peak filename when renaming session, fixes #5869 2015-04-05 14:55:19 +02:00
a8d9014215 add missing include
hopefully fixes string collection
2015-04-05 03:13:12 +02:00
5ded2ad928 децибел 2015-04-05 03:03:43 +02:00
Edgar Aichinger
fdad174932 fix mistake in small .de update 2015-04-04 19:46:49 +02:00
Edgar Aichinger
a45feecb1b another small .de update 2015-04-04 19:18:11 +02:00
7c146a9e22 fix OSC parameter mapping, fixes #6224
(ignore non control ports in numbering)
2015-04-04 03:16:53 +02:00
84c1bbb4c7 when copying A3 config files, consider that the user may have /config rather than /ardour.rc.
This will be true if they have been self-building from git or
using nightlies.
2015-04-02 19:03:06 -04:00
Valeriy Kamyshniy
21193c6fca [Summary] Adding option to avoid sorting the routs in Session::foreach method. Now ARDOUR_UI::every_second do not spend time for unnecessary sorting when calling update_disk_space().
[Reviewed] Paul Davis
[Required review] YPozdnyakov, GZharun
2015-04-02 16:32:41 -04:00
cc75edd5d1 Update libs/ardour UK English localisation 2015-04-02 19:31:30 +01:00
192e1c6156 fix #6227, ‘old_peak_path()’ does not exist on win.
or rather mountpoint() does not. in any case
there never was a windows release without libsndfile, so checking for peaks pre-libsndfile
is moot.
2015-04-02 18:51:20 +02:00
826e25cbf3 NOOP, just whitespace 2015-04-01 17:59:32 +02:00
7b844a52ee add header to deal with destruction issues for tempo map 2015-04-01 11:58:31 -04:00
nick_m
35f69656e8 Window focus handling fixes.
Many windows were not getting key events.
Use magic focus infrastructure (built for widgets) to deliver key events
via window focus in/out.
2015-04-02 02:41:49 +11:00
9a4827374c remove race condition when editing tempo/meter information.
Lock was not held across a replace_{tempo,meter}() operation because of re-use
of {remove,add}_{tempo,meter}. Moved functional code into _locked variants so
that replace operation can hold lock across its entire active lifetime.
2015-04-01 11:22:35 -04:00
73f967c330 delete tempo map at appropriate times 2015-04-01 10:58:56 -04:00
36140d4d01 updated i18n files from ./waf i18n 2015-03-31 20:16:25 -04:00
c89f24e207 fixes for recent waves tracks => ardour cherry-picks of the wavesaudio backend 2015-03-31 18:03:51 -04:00
a5fc4dc614 add new signals to AudioEngine from waves backend changes.
These were missed somehow during cherry-picking.
2015-03-31 17:29:42 -04:00
458fc3ad75 manually merge current version of WavesMidiDevice::{open,close}() 2015-03-31 17:29:42 -04:00
Valeriy Kamyshniy
83001e7e52 [Summary] Audio Backend code cleanup - PORTION B
Conflicts:
	libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
Valeriy Kamyshniy
91f5eb9fef [Summary] Audio Backend code cleanup - PORTION A
Conflicts:
	libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
Greg Zharun
47adf3ba37 [Summary] Changed midi stop order related to audio 2015-03-31 17:29:42 -04:00
Greg Zharun
708f4bf12b [Summary] Removed unnecessary abortion 2015-03-31 17:29:42 -04:00
Greg Zharun
22d68d14ce [Summary] Very seldom crash. Cleared temp data gave almost stable work
Conflicts:
	libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:42 -04:00
Greg Zharun
23214f6e61 [Summary] Fixed several backend issues: made reset counter check atomic, removed copy/paste mistakes
Conflicts:
	libs/ardour/audioengine.cc
	libs/ardour/engine_state_controller.cc
	libs/backends/wavesaudio/waves_audiobackend.cc
2015-03-31 17:29:41 -04:00
GZharun
3f5bf264c3 [Summary] Fixed crash on MAC when MIDI device name is 0 ref 2015-03-31 17:29:41 -04:00
Greg Zharun
85b4577d7a [Summary] Removed useless output 2015-03-31 17:29:41 -04:00
Greg Zharun
a2f82f8c5d [Summary] Added actions to handle abnormal behavior during stream stop for MIDI and Audio devices.
Made correct error handling for cases we didn't see before.
Removed redundant and experimental code I forgot to remove months ago.
Added debug output which will help in future testing

Conflicts:
	libs/ardour/ardour/audioengine.h
	libs/ardour/engine_state_controller.cc
	libs/backends/wavesaudio/waves_midi_device.cc
2015-03-31 17:29:41 -04:00
Greg Zharun
ce069da682 [Summary] Made device control panel open request synchronized with other critical device operations. Made device reset correctly when control panel is closed.
Conflicts:
	gtk2_ardour/tracks_control_panel.logic.cc
	libs/ardour/ardour/audioengine.h
	libs/backends/wavesaudio/wavesapi/devicemanager/WCMRPortAudioDeviceManager.cpp
2015-03-31 17:29:41 -04:00
Valeriy Kamyshniy
91ae97d5c9 [Summary] Following review Paul did after 9b0fc7b743219b8daecbef91c9772937fd874822 [9b0fc7b] and 72e1510766608180fc7975fde35c9155494a8b5d [72e1510]. 2015-03-31 17:29:41 -04:00
207ac16731 move "been here before" path concept into libardour, and use it appropriately at startup 2015-03-31 11:27:47 -04:00
47110c983c fix OSX/PPC 10.4 long maths 2015-03-31 16:05:15 +02:00
16be88cdb6 Skeleton backend for brave volunteers.
callback based backend based on CoreAudio/Midi
backend (sans the actual system/HW _pcmio, 
_midiio)
2015-03-30 21:23:52 +02:00
f74acc6e79 note to midi devs. 2015-03-30 19:52:21 +02:00
8ca0680871 fix typo in skip/state-tracker 2015-03-30 19:51:34 +02:00
e03882eec7 Update Russian translation 2015-03-30 09:19:00 -05:00
205ade377a coreaudio: swap default aggregate clock source.
Thanks to Stephane & the JACK2 team.
2015-03-30 09:19:00 -05:00
6888436416 hack AudioAnalyzer for VAMP Onsetdetect
This works around a bug in OnsetDetector.
It requests a buffer of 1114 samples but later FFT
bails out if the buffer size is not a power-of-two.
Also large buffersizes fail.

Work-around: use ADAPT_ALL_SAFE (no buffersize
adapter), use a reasonably small buffersize.
The current settings work, even though it produces
the following warnings (vamp-plugins/OnsetDetect.cpp)

WARNING: OnsetDetector::initialise: Possibly sub-optimal step size for this sample rate: 512 (wanted 557)
WARNING: OnsetDetector::initialise: Possibly sub-optimal block size for this sample rate: 1024 (wanted 1114)

This commit should be reverted once VAMP/QM/aubio
is updated/fixed.
2015-03-30 09:19:00 -05:00
d1d266696b fix crash #6161 - another throw w/o catch
The real problem is: libardourvampplugins:* cannot
be instantiated this remains to be fixed.
2015-03-30 09:19:00 -05:00
9313930bb3 For the canvas library, #include 'gtkmm2ext/gui_thread.h' rather than 'gtk2_ardour/gui_thread.h'
Technically it doesn't make much difference but from what I can tell, the only files which #include 'gtk2_ardour/gui_thread.h' are the source files from gtk2_ardour itself. The support libraries always #include 'gtkmm2ext/gui_thread.h' directly (which seems sensible). So for consistency's sake, let's keep it the same for libcanvas.
2015-03-30 09:19:00 -05:00
9128cdefe9 Add some newly introduced sources to our MSVC project (libardour) 2015-03-30 09:19:00 -05:00
546cd974ec Fix mute of MIDI tracks with channel forcing.
This moves MIDI channel filtering into a reusable class and moves filtering to
the source, rather than modifying the buffer afterwards.  This is necessary so
that the playlist trackers reflect the emitted notes (and thus are able to stop
them in situations like mute).

As a perk, this is also faster because events are just dropped on read, rather
than pushed into a buffer then later removed (which is very slow).

Really hammering on mute or solo still seems to produce stuck notes
occasionally (perhaps related to multiple-on warnings).  I am not yet sure why,
but occasional beats always.
2015-03-30 09:19:00 -05:00
88146f0e3a Add CD Metadata "PERFORMER" & "TITLE" fields to .toc & .cue export
Add "PERFORMER" to the exported .toc & .cue files based on the value of the
"album_artist" metadata field, and also use the value of the "album" field
for the TITLE if is set, falling back to the session or range name if it is
blank.
2015-03-30 09:19:00 -05:00
aca81bd894 Export EAN barcode number to 'CATALOG' field in .cue & .toc files 2015-03-30 09:19:00 -05:00
fe3fecde93 Add EAN barcode field to session metadata 2015-03-30 09:19:00 -05:00
cc4eb495d9 More informative debug output from SessionMetadata::{get|set}_value() 2015-03-30 09:19:00 -05:00
nick_m
7f187d4169 Better fix for 6183.
Invalidate all source entries from the image cache when we get our
region's DropReferences signal, while ignoring any subsequent regions with
no source.
2015-03-30 09:18:59 -05:00
Edgar Aichinger
2d0adea86e update German Translation #6213 2015-03-30 09:18:59 -05:00
nick_m
97ae714f8f Backend - change midi optons string.
Multimedia Extensions -> System MIDI (MME)
2015-03-30 09:18:59 -05:00
Raphaël Doursenaud
6bfeb54168 Merge French translations 2015-03-28 23:35:11 +01:00
Frédéric Rech
71a32919a0 French translation update 2015-03-28 21:05:43 +01:00
Raphaël Doursenaud
e5422f3617 First pass updating french translation 2015-03-28 21:04:16 +01:00
7e2c8ace4b Follow MIDI control values with automation faders.
Fixes bug #6166 (except record).

This attempts to follow the "current" control value somewhat aggressively:

* On locate, slider is set to the value from the top region at the new
  transport position.

* Playback or MIDI input is followed "live".

* Whenever the slider is moved (including automatically), that value is emitted
  as an immediate event to keep external gear in sync.

General idea is that the Ardour slider should act as a mirror of an external
hardware knob, and both should be synced to whatever the control is at the
current transport position.  Since we lack real playback/touch/etc modes for
these for now, we must choose one behaviour, and this seems like the most
reasonable one.

Follow is handled in the audio thread, which is probably not ideal, but since
these controls have no lists and do not record, should be fine.  Probably.
2015-03-26 00:47:34 -04:00
07997a6d38 likely fix for debug build 2015-03-25 14:47:18 -05:00
4a7236b773 fix touch-recording of automation in a loop 2015-03-25 14:28:36 -05:00
089c334d0c Resolve only active notes when muted/non-soloed.
Fixes bug #6206.
2015-03-24 13:48:43 -04:00
nick_m
eff25b06f5 Fix 0006183 (waveview crash).
Should fix crash when audiosource disappears.
Reworked from submitted patch from tlat.
2015-03-24 23:35:43 +11:00
pablus
5c634f1d65 update spanish translation, #6204 2015-03-23 20:24:30 +01:00
53ac99a26a rework check for old configuration files
check early on (before announcement-check, bundle-
env and ARDOUR_UI ctor have a chance to create the
new config dir)
2015-03-23 18:31:55 +01:00
8e7c065f83 limit plugin-preset ‘seen_set_state’ message. 2015-03-23 01:53:07 +01:00
e4428ece34 update system_config 2015-03-22 23:20:55 +01:00
4f6f7f45f6 add GPL boilerplate. 2015-03-22 16:12:41 +01:00
fbe673d9c7 fix #6208, negative broadcast timestamps 2015-03-22 16:12:40 +01:00
39e5f7b94b Add a new MSVC project for building the Portaudio backend 2015-03-22 11:54:58 +00:00
bb71a8956b disable pre-fader mute by default
<oofus> rgareus: pre fader sends are not really used
for FX sends, they would either be sending to other
busses or to something like headphone/cue feeds.
You don't want those mixes having stuff muted in
them as you are muting you main mix.
2015-03-21 19:44:58 +01:00
nick_m
bc20da35f7 Revert mistaken change in e7b0e67bc8 2015-03-22 05:35:13 +11:00
a10e17411f fix --disable-plugins (bypass ‘em all) 2015-03-21 17:52:27 +01:00
nick_m
69a6c4d747 Provide an image if there are no peaks. 2015-03-22 00:31:32 +11:00
0f2ead3d6b fix redraw of automation ControlPoints 2015-03-20 23:31:21 +01:00
2a9d7286f9 fix AWOL semicolon in 9f842f3 2015-03-20 22:08:17 +01:00
9f842f3247 NOOP, whitespace 2015-03-20 21:38:26 +01:00
410cf8e79d OSC log errors 2015-03-20 21:32:56 +01:00
7619edd1f6 OSC: fix crash when trying to set output params 2015-03-20 21:19:25 +01:00
17e1e2641b OSC fix plugin numbering:
ignore non-plugin processors for OSC
/ardour/routes/plugin/parameter

fixes issue with hidden internal processors. (rec-en
track adds a hidden [meter] processor at the top,
internal returns on busses have returns etc.)
2015-03-20 20:27:15 +01:00
a563007fcc add missing return value 2015-03-20 16:17:07 +01:00
nick_m
53f452dde1 Don't open peakfiles O_NONBLOCK or O_NOATIME.
O_NOATIME removed due to what appears to be a bug in fuse where open fails.
O_NONBLOCK was basically unjustifiable.
2015-03-21 01:02:51 +11:00
26ce7b5f1b add a non-interleaved mode to the Portaudio backend 2015-03-20 11:45:56 +01:00
abfdcb5439 fix windows + VST debug versions
pthread.h needs to be included before pbd/debug.h
otherwise PTW32_VERSION is not defined, bug in 831f298
2015-03-17 16:30:16 +01:00
5188f02cfe hide issues with g_close() not being available in somewhat older versions of glib 2015-03-16 13:34:35 -05:00
72b19e60fe fix compiler warning 2015-03-16 13:02:20 -05:00
8ff477ab1a add PBD::toggle_file_existence() 2015-03-16 13:00:28 -05:00
4c2ea510e3 add API to query Gtk::ComboBoxText entries
..the overly complex C++ style variant.
iterate twice..  hell yeah.
2015-03-16 14:38:21 +01:00
nick_m
135e865302 Add route dialog order hint changes.
Add an option to insert new routes at the top of the list ("First").
Reorder/rename the entries in the dialog.
Session's _order_hint is now the signed int it always wanted to be.
2015-03-16 04:01:30 +11:00
d8d9f9b486 proper port unregistration (just some refactoring, noop) 2015-03-14 22:59:07 +01:00
83babb8a52 automatic error log window popup be gone. 2015-03-14 18:28:36 +01:00
0028630ece Fix stretch for MIDI regions (#6164). 2015-03-14 00:39:52 -04:00
86c6541323 Move PC flags to avoid obscuring region name.
Fixes bug #6179.  Top vs. bottom seems pretty arbitrary to me, and this solves
the obscuring issue (which is quite common since there are often PC events at
the start of MIDI files), so bottom it is.
2015-03-14 00:21:29 -04:00
524f322250 ignore master & monitor when “solo all [in group]”
should fix #6193
2015-03-14 01:49:32 +01:00
94e36450d2 Fix some build anomalies between PROGRAM_NAME and PROGRAM_VERSION
When building with MSVC, some libraries had PROGRAM_NAME set to "Mixbus" and PROGRAM_VERSION set to "3". Whereas other libraries had PROGRAM_NAME set to "Mixbus3" while PROGRAM_VERSION was an empty string.

I've a horrible feeling there must have been a reason for this but I can't quite think what it was. Hopefully though, this change will standardize everything.
2015-03-13 17:40:53 +00:00
5090934a2c clean out cruft from CoreAudio Backend 2015-03-13 14:05:12 +01:00
7a4f1cb98f only jack+windows use portaudio.
fixes missing lib if portaudio-backend is used on on non-windows
platforms (pkg-config defines HAVE_PORTAUDIO)
2015-03-13 13:32:14 +01:00
1cca79258a call me Mr. Backend
simple blocking (no callback) PortAudio Backend
2015-03-13 13:32:14 +01:00
9a05a0fbfb alter config file copying infrastructure so it can be used at a suitable time in the instance's lifetime 2015-03-12 17:45:42 -05:00
b622bc18fc amend 7bb9d04, fix midi looping 2015-03-12 16:18:06 +01:00
7bb9d04859 cont’d work on a16dd7c, fixes #6170 2015-03-12 15:23:05 +01:00
a16dd7c071 explain midi starvation, issue #6170
this is not a fix yet, just some comments and
code cleanup done while reading/investigating:

* limit reads to available write-space
* skip inactive tracks
* handle potential unsigned + negative value.
2015-03-12 15:22:18 +01:00
831f2989ac Revert commit 635578b3 relating to pthread debugging
This breaks the build for windows builds that don't use the pthreads_win32
library. Using the opaque pthread_t type like this is probably not a great
idea. Using PBD::pthread_name is another option that I've used elsewhere
that seems more useful.
2015-03-12 23:05:31 +10:00
0f8da2d4cd Define DEBUG_THREAD_SELF when debug is enabled 2015-03-12 23:04:25 +10:00
a9c449c4af Use DEBUG_THREAD_SELF macro in session_vst.cc 2015-03-12 23:04:14 +10:00
5476b48539 Don't try linking libclearlooks files with mingw build
I believe this is unnecessary for cross and native builds
2015-03-12 23:03:59 +10:00
47b1c2889c Include windows.h in Dummy backend for LARGE_INTEGER
This is necessary for a native build using MSYS2 and mingw-w64
2015-03-12 23:03:45 +10:00
4c4863248c Include windows.h on windows build for LARGE_INTEGER
This is necessary for a native build using MSYS2 with mingw-w64
2015-03-12 23:03:32 +10:00
89a3c78175 finish (?) infrastructure for copying configuration files from a3 to a4 2015-03-11 14:28:30 -05:00
087b5dc43b interpret CoreMidi unique ID as unsigned for consistency.
coremidi specifies it as SInt32 but system:midi_playback_-126632214 ,
even if only used internally, just does not seem right.
2015-03-11 20:06:41 +01:00
8587855b99 more infrastructure for copying old configuration files 2015-03-11 13:24:47 -05:00
59880b7fa3 efficiency is overrated - don't cache the return value of user_config_directory_name() since it can be called with different arguments 2015-03-11 13:24:47 -05:00
f9ce27fd65 global ARDOUR signal to ask GUI to copy configuration files across versions 2015-03-11 13:24:47 -05:00
d563b1173b only create user configuration directory if no explicit version was given 2015-03-11 13:24:47 -05:00
1644fc1068 hide user_config_dir_name; alter API for user_config_dir() to allow specification of a version number 2015-03-11 10:39:15 -05:00
99260742d2 mingw: all code is position independent 2015-03-11 14:58:02 +01:00
77821ba373 NOOP, midi-auditioner clean API usage 2015-03-11 12:29:45 +01:00
ac23461ed9 remove duplicate code
set_header_timeline_position() does exactly that. Also doing it
twice may have lead to a NULL-pointer dereference.
2015-03-11 12:28:47 +01:00
6d2189f9e3 reasonably sized CoreMidi Buffers 2015-03-11 12:23:05 +01:00
nick_m
a1ac941a00 Fix windows compilation for merged waveview branch. 2015-03-11 10:50:35 +11:00
c3d7654884 coreaudio backend: switch threads early 2015-03-11 00:27:14 +01:00
fe85575a12 fix “no per-thread pool” abort
For some backends the process thread can change (e.g.
switch coreaudio headphone + internal speakers)

If there are existing x-thread event calls this can lead to
the following situation:

1) SessionEvent::operator new
2) audioengine process thread change
3) SessionEvent::operator delete  -> crash, wrong thread

SessionEvent::operator delete can safely push the event back to
the pool for later cleanup..
2015-03-11 00:25:10 +01:00
1a5a48436a NOOP, re-indent. 2015-03-10 22:15:44 +01:00
9b2898c533 yet unheard of edge-case. 2015-03-10 22:15:44 +01:00
68146a0969 audio interpolation is really private 2015-03-10 22:15:44 +01:00
7619946b4b MIDI vari-speed playback 2015-03-10 22:15:44 +01:00
3139b7e980 prototype basic midi varispeed 2015-03-10 22:15:44 +01:00
nick_m
a2b35aa634 Fix compilation for osx. 2015-03-11 01:57:16 +11:00
nick_m
fb8bc4e8c9 Manual merge of the backend (peakfile reading) part of waveview branch.
Summary:
    * use mmap() for the whole peakfile instead of lots of small seek/reads
    * cache the computed peaks
    * where possible, open files with O_NOATIME.
2015-03-11 00:40:02 +11:00
nick_m
e7b0e67bc8 Manual merge of the drawing component of waveview branch.
In summary:

    * no antialiasing of waveviews
    * no diagonal lines
    * simplify clip detection
    * don't use LINE_CAP_ROUND for outline
    * use the wave colour when drawing outline only
2015-03-10 23:35:53 +11:00
3547540f98 throttle TransportStateChange signal emissions 2015-03-10 10:49:52 +01:00