13
0
Commit Graph

20506 Commits

Author SHA1 Message Date
nick_m
6cb752dc15 Tempo ramps - locking debugging. 2016-05-27 23:38:09 +10:00
nick_m
7fc3b0c34c Initial stab at tempo ramps.
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.

Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.

Many things seem to work, but their accuracy should be in question until
each area has been addressed.
2016-05-27 23:38:09 +10:00
94187e66a2 add a test-sequence for polyphonic pressure 2016-05-27 12:12:00 +02:00
56471fd352 ensure that amp/fader is present on every route 2016-05-26 15:42:33 +02:00
00967a1982 take read-lock when saving processor order 2016-05-26 15:05:06 +02:00
eadc2ca88a fix maths thinko 2016-05-26 10:44:13 +02:00
602344f0c5 ticks are not affected by metrum 2016-05-26 02:22:10 +02:00
d6d5903a24 fix Audio Unit BBT 2016-05-26 02:20:32 +02:00
9678be9b6a fix clang compile 2016-05-26 01:52:34 +02:00
cf6f9627e4 update VST audioMasterGetTime
* don't use a static struct. this fixes a concurrency issue with flags
  and valid values
* send kVstTransportChanged IFF there is an actual change
* set system time
* send loop location
2016-05-26 01:04:43 +02:00
1d48648a73 fix timecode update after locate.
Various session rt-events set "_send_timecode_update" to true,
but at the same time queue post-transport-work.

The timecode-update is generated, but due to pending transport work
session->silent() is true and the timecode was never sent.
2016-05-25 19:20:09 +02:00
ad7295f5e1 use updated API from prev. commit 2016-05-25 17:59:28 +02:00
6c502b8315 allow to configure transient detection sensitivity
NB. this does not yet re-analyze regions when the config changes
and is hence also not [yet] exposed in the GUI.
2016-05-25 17:52:50 +02:00
5550eebe2f fix MTC alignment 2016-05-25 17:13:09 +02:00
f34722bf49 treat different normalization settings as different formats 2016-05-25 14:24:13 +02:00
80cc70966c missing local export config is not an error 2016-05-25 13:56:11 +02:00
925501c851 don't clear export-channel selection when switching presets 2016-05-25 13:53:21 +02:00
4cd82846b7 fix script button sensitivity 2016-05-25 03:17:53 +02:00
cec449871e fix region gain via range tool
Moving the mouse over another region's gain line changed
clicked_regionview.  clicked_regionview is used along with range-time
when initiating an AutomationRangeDrag.
2016-05-25 02:46:57 +02:00
b487954722 fix menu order: consistent for region and range bounce 2016-05-25 02:28:41 +02:00
f42fc3e45d hide Freesound tab (until it gets fixed) 2016-05-24 22:45:47 +02:00
cab6ae7137 backend check for rec-safe (only allow to lock if not armed) 2016-05-24 21:31:10 +02:00
ac7df69b49 rec-safe GUI 2016-05-24 21:30:33 +02:00
cfee8ac852 fix UI wire display to not coalesce views for non-linear i/o. 2016-05-24 18:18:26 +02:00
a525055ce0 additional in-place check 2016-05-24 18:04:29 +02:00
1f17784ac5 fix potential undefined DnD behavior for external drags
dragging from the tree-view (e.g. favorite sidebar or plugin-manager)
will not set _drag_source.
drag-motion may wrongly interpret it as "re-order".
2016-05-24 17:58:24 +02:00
2074dbdbe2 freeze thread is not detached and needs to be joined 2016-05-24 03:33:11 +02:00
7aa85887da more inter-thread progress fixes; slight change of semantics:
Background thread now *must* set "done" as last step. (they already do
since various error conditions don't result in "done")

This fixes a race: background thread Session::write_one_track() sets "done"
to true. Editor::freeze_route () continues, sets current_interthread_info
to NULL. thread continues and tries to set current_interthread_info.done
before terminating -> Crash.

This also ensures that singleton threads created with
"pthread_create_and_store" remain unique.
2016-05-24 03:33:08 +02:00
cd5cd2f8f2 cont'd work & fix bug introduced in 03660573e
not every code path using InterthreadProgressWindow unsets cancel
after creating the Window.
2016-05-24 03:33:02 +02:00
6605b52c17 centralize rec-en sensitivity & prepare for rec-safe 2016-05-24 03:01:27 +02:00
f683f534a4 vamp API/ABI uses gcc4/5 specific C++ :( 2016-05-24 00:02:53 +02:00
491d183c78 lua script to remove all unknown processors 2016-05-23 22:27:09 +02:00
207d9c81db some more route related lua bindings 2016-05-23 21:55:49 +02:00
455d4683f6 more harrison packaging 2016-05-23 16:46:08 +02:00
bc05c56fba add missing include 2016-05-23 03:50:43 +02:00
2b53558e66 remove misspelled unused define 2016-05-23 02:29:55 +02:00
1cf6661196 add a lua high/low pass filter with configurable slope 2016-05-23 00:43:55 +02:00
f03252cf88 possible fix or workaround[?] for pt track-name encoding 2016-05-23 00:05:02 +02:00
fd56c33f20 import audio/midi at "session start by default
Too many users report they import their first tracks and can't find them.

Previous default was "at file timestamp". If a file has no timestamp,
the import dialog shows "00:00:00:00" but in absence of a timestamp,
Editor::add_sources() first checks target tracks and adds add it after
the last region, then falls back to use preferred edit position as
insert point.

In the rare case where a file has timestamps it may show up a few hours
in the future.

conclusion: import-at-timestamp is not a good default.
2016-05-22 22:13:03 +02:00
afc1186759 NO-OP indent 2016-05-22 19:36:54 +02:00
1b3b42403b overhaul region/range spectrum analysis 2016-05-22 19:33:00 +02:00
ef365d0310 tooltips for export analysis -- russian-fraction lost challenge :) 2016-05-22 19:33:00 +02:00
39ba60aaef Make sure MSVC knows which version of 'floor()' we want 2016-05-22 15:53:16 +01:00
03660573e2 fix import-thread SNAFU
* pressing Esc or WM close button did not cancel import thread
 * proper Abort does not wait for import thread either

It was possible to launch a 2nd (and Nth) import thread, all sharing
the Editor's ImportStatus data-structure, all having the same
registered thread-name and same thread-pool name.  Plenty of room for
crashes.
2016-05-21 23:30:11 +02:00
9ad096b611 Dummy Backend evolution
- pretty port-names for Dummy generators: show frequency
- add 1/3 Octave spaced sine-wave generator
2016-05-21 22:38:39 +02:00
489cef0913 Revert "debug unconfiged plugins"
This reverts commit 125e2014aa.
2016-05-21 17:54:34 +02:00
eb35ba1d95 fix assert/crash if unknown processor's I/O mismatches
This can happen on OS X. Audio Units did not have
a MIDI bypass. Ardour adds an implicit bypass and existing
"unknown/missing" plugins after the instrument will see
a different i/o config.
2016-05-21 17:54:13 +02:00
f2f9c2303a fix initial engine state (windows: buffered-i/o; all: channelcount) 2016-05-21 16:24:35 +02:00
742ebe9975 const'ness -- just because 2016-05-21 16:24:30 +02:00
d6aa79bca5 complete lua DSP filter with parameter interpolation & comments 2016-05-21 16:24:15 +02:00