nick_m [Fri, 5 Feb 2016 19:29:06 +0000 (06:29 +1100)]
Tempo ramps - fix save/restore of region position_lock_style.
nick_m [Fri, 5 Feb 2016 19:07:27 +0000 (06:07 +1100)]
Tempo ramps - api rename, fix various meter and tempo dialog bugs.
nick_m [Tue, 29 Dec 2015 13:39:10 +0000 (00:39 +1100)]
Tempo ramps - update midi regions and locations when dragging tempo.
- also make locations and regions use a double beat rather than bbt for musical position.
nick_m [Tue, 29 Dec 2015 05:51:10 +0000 (16:51 +1100)]
Tempo ramps - improve the performance of recompute_map().
nick_m [Mon, 28 Dec 2015 14:46:34 +0000 (01:46 +1100)]
Tempo ramps - clean up TempoSection, fix thinko in position function.
nick_m [Mon, 28 Dec 2015 12:03:54 +0000 (23:03 +1100)]
Tempo ramps - replace ugly bootstrapping code in TempoMap::frame_time() with new api.
- also fix some type confusion.
nick_m [Mon, 28 Dec 2015 10:19:12 +0000 (21:19 +1100)]
Tempo ramps - meter sections work again.
- also fix *some* of the more hackish code in this branch.
nick_m [Sun, 27 Dec 2015 18:33:04 +0000 (05:33 +1100)]
Tempo ramps - remove the concept of bars from tempo sections.
- this helps where tempo and meter have a somewhat circular
dependency.
MetricSection now has a musical position expressed in beats (a double).
MeterSection still has a bbt, but it really isn't needed as we have
enough information to discover the number of bars at a given beat without it.
TempoSection now has a hack to enable loading of legacy sessions, which will
ultimately be a lot cleaner than the current code.
Removing bars from tempo sections also allows us to place them
at arbitrary frames (implemented here).
nick_m [Wed, 23 Dec 2015 18:59:36 +0000 (05:59 +1100)]
Tempo ramps - amend previous commit.
nick_m [Wed, 23 Dec 2015 18:42:58 +0000 (05:42 +1100)]
Tempo ramps - fix many problems wrt dragging tempos over each other.
- also preparation for metric lock style and meter bug fix.
nick_m [Wed, 23 Dec 2015 13:44:32 +0000 (00:44 +1100)]
Tempo ramps - fix odd display when dragging one tempo past another.
- also preparations for removal of beat limitation on tempos
- some code clean ing
nick_m [Wed, 23 Dec 2015 12:32:16 +0000 (23:32 +1100)]
Tempo ramps - massively speed up dragging of tempo marks.
nick_m [Tue, 22 Dec 2015 19:18:12 +0000 (06:18 +1100)]
Tempo ramps - don't use methods we don't need to use.
- more room for improvement here
nick_m [Tue, 22 Dec 2015 18:58:49 +0000 (05:58 +1100)]
Tempo ramps - allow live updating of tempo markers.
- all a bit slow, but should be ok once we can lock
markers to frames.
nick_m [Mon, 21 Dec 2015 14:21:54 +0000 (01:21 +1100)]
Tempo ramps - define_one_bar() delivers constant tempo.
- also some renaming and code review
nick_m [Sun, 20 Dec 2015 20:14:10 +0000 (07:14 +1100)]
Tempo ramps - port audio unit and midi clock slave.
- untested.
nick_m [Sun, 20 Dec 2015 20:11:20 +0000 (07:11 +1100)]
Tempo ramps - get tests to comile again.
nick_m [Sun, 20 Dec 2015 19:21:27 +0000 (06:21 +1100)]
Tempo ramps - play nicely with legacy sessions.
nick_m [Sun, 20 Dec 2015 19:01:57 +0000 (06:01 +1100)]
Fis inability to make the first tempo section constant tempo.
nick_m [Sun, 20 Dec 2015 18:42:38 +0000 (05:42 +1100)]
Tempo ramps - fix changing from const to ramp in the gui.
- also fixes some midi mouse over problems
- start using replacements for frames_per_bar() frames_per_beat() etc.
nick_m [Sat, 19 Dec 2015 19:41:20 +0000 (06:41 +1100)]
tempo ramps - fix dumb iterator error. thanks robin.
nick_m [Sat, 19 Dec 2015 19:32:07 +0000 (06:32 +1100)]
Tempo ramps - locking debugging.
nick_m [Sat, 19 Dec 2015 17:41:45 +0000 (04:41 +1100)]
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.
Robin Gareus [Fri, 27 May 2016 10:12:00 +0000 (12:12 +0200)]
add a test-sequence for polyphonic pressure
Robin Gareus [Thu, 26 May 2016 13:42:33 +0000 (15:42 +0200)]
ensure that amp/fader is present on every route
Robin Gareus [Thu, 26 May 2016 13:05:06 +0000 (15:05 +0200)]
take read-lock when saving processor order
Robin Gareus [Thu, 26 May 2016 08:44:13 +0000 (10:44 +0200)]
fix maths thinko
Robin Gareus [Thu, 26 May 2016 00:22:10 +0000 (02:22 +0200)]
ticks are not affected by metrum
Robin Gareus [Thu, 26 May 2016 00:20:14 +0000 (02:20 +0200)]
fix Audio Unit BBT
Robin Gareus [Wed, 25 May 2016 23:52:34 +0000 (01:52 +0200)]
fix clang compile
Robin Gareus [Wed, 25 May 2016 23:04:43 +0000 (01:04 +0200)]
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
Robin Gareus [Wed, 25 May 2016 17:20:09 +0000 (19:20 +0200)]
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.
Robin Gareus [Wed, 25 May 2016 15:59:28 +0000 (17:59 +0200)]
use updated API from prev. commit
Robin Gareus [Wed, 25 May 2016 15:52:50 +0000 (17:52 +0200)]
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.
Robin Gareus [Wed, 25 May 2016 15:13:09 +0000 (17:13 +0200)]
fix MTC alignment
Robin Gareus [Wed, 25 May 2016 12:24:13 +0000 (14:24 +0200)]
treat different normalization settings as different formats
Robin Gareus [Wed, 25 May 2016 11:56:11 +0000 (13:56 +0200)]
missing local export config is not an error
Robin Gareus [Wed, 25 May 2016 11:53:21 +0000 (13:53 +0200)]
don't clear export-channel selection when switching presets
Robin Gareus [Wed, 25 May 2016 01:17:53 +0000 (03:17 +0200)]
fix script button sensitivity
Robin Gareus [Wed, 25 May 2016 00:46:57 +0000 (02:46 +0200)]
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.
Robin Gareus [Wed, 25 May 2016 00:28:41 +0000 (02:28 +0200)]
fix menu order: consistent for region and range bounce
Robin Gareus [Tue, 24 May 2016 20:45:47 +0000 (22:45 +0200)]
hide Freesound tab (until it gets fixed)
Robin Gareus [Tue, 24 May 2016 19:31:10 +0000 (21:31 +0200)]
backend check for rec-safe (only allow to lock if not armed)
Robin Gareus [Tue, 24 May 2016 19:30:33 +0000 (21:30 +0200)]
rec-safe GUI
Robin Gareus [Tue, 24 May 2016 16:18:26 +0000 (18:18 +0200)]
fix UI wire display to not coalesce views for non-linear i/o.
Robin Gareus [Tue, 24 May 2016 16:04:29 +0000 (18:04 +0200)]
additional in-place check
Robin Gareus [Tue, 24 May 2016 15:58:24 +0000 (17:58 +0200)]
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".
Robin Gareus [Tue, 24 May 2016 01:29:48 +0000 (03:29 +0200)]
freeze thread is not detached and needs to be joined
Robin Gareus [Tue, 24 May 2016 01:27:27 +0000 (03:27 +0200)]
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.
Robin Gareus [Tue, 24 May 2016 01:33:02 +0000 (03:33 +0200)]
cont'd work & fix bug introduced in
03660573e
not every code path using InterthreadProgressWindow unsets cancel
after creating the Window.
Robin Gareus [Tue, 24 May 2016 01:01:27 +0000 (03:01 +0200)]
centralize rec-en sensitivity & prepare for rec-safe
Robin Gareus [Mon, 23 May 2016 22:02:53 +0000 (00:02 +0200)]
vamp API/ABI uses gcc4/5 specific C++ :(
Robin Gareus [Mon, 23 May 2016 20:27:09 +0000 (22:27 +0200)]
lua script to remove all unknown processors
Robin Gareus [Mon, 23 May 2016 19:55:49 +0000 (21:55 +0200)]
some more route related lua bindings
Robin Gareus [Mon, 23 May 2016 14:46:08 +0000 (16:46 +0200)]
more harrison packaging
Robin Gareus [Mon, 23 May 2016 01:50:43 +0000 (03:50 +0200)]
add missing include
Robin Gareus [Mon, 23 May 2016 00:29:55 +0000 (02:29 +0200)]
remove misspelled unused define
Robin Gareus [Sun, 22 May 2016 22:43:55 +0000 (00:43 +0200)]
add a lua high/low pass filter with configurable slope
Robin Gareus [Sun, 22 May 2016 22:05:02 +0000 (00:05 +0200)]
possible fix or workaround[?] for pt track-name encoding
Robin Gareus [Sun, 22 May 2016 20:13:03 +0000 (22:13 +0200)]
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.
Robin Gareus [Sun, 22 May 2016 17:36:54 +0000 (19:36 +0200)]
NO-OP indent
Robin Gareus [Sun, 22 May 2016 17:29:08 +0000 (19:29 +0200)]
overhaul region/range spectrum analysis
Robin Gareus [Sun, 22 May 2016 01:31:27 +0000 (03:31 +0200)]
tooltips for export analysis -- russian-fraction lost challenge :)
John Emmas [Sun, 22 May 2016 14:53:16 +0000 (15:53 +0100)]
Make sure MSVC knows which version of 'floor()' we want
Robin Gareus [Sat, 21 May 2016 21:30:11 +0000 (23:30 +0200)]
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.
Robin Gareus [Sat, 21 May 2016 20:38:39 +0000 (22:38 +0200)]
Dummy Backend evolution
- pretty port-names for Dummy generators: show frequency
- add 1/3 Octave spaced sine-wave generator
Robin Gareus [Sat, 21 May 2016 15:54:34 +0000 (17:54 +0200)]
Revert "debug unconfiged plugins"
This reverts commit
125e2014aafbb0362725f780470f5654b66b53ce.
Robin Gareus [Sat, 21 May 2016 15:54:13 +0000 (17:54 +0200)]
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.
Robin Gareus [Sat, 21 May 2016 13:54:52 +0000 (15:54 +0200)]
fix initial engine state (windows: buffered-i/o; all: channelcount)
Robin Gareus [Sat, 21 May 2016 13:45:49 +0000 (15:45 +0200)]
const'ness -- just because
Robin Gareus [Sat, 21 May 2016 14:24:15 +0000 (16:24 +0200)]
complete lua DSP filter with parameter interpolation & comments
Robin Gareus [Sat, 21 May 2016 14:06:59 +0000 (16:06 +0200)]
"biquadratic" needs no camelcase - fixes API doc.
Robin Gareus [Sat, 21 May 2016 13:43:19 +0000 (15:43 +0200)]
allow lua to access array at an offset
Robin Gareus [Sat, 21 May 2016 10:52:02 +0000 (12:52 +0200)]
keep DSP state variables finite.
John Emmas [Sat, 21 May 2016 11:37:35 +0000 (12:37 +0100)]
When copying the PNG files from 'gtk2_ardour/resources', copy them to '$(TargetFolder/resources' rather than '$(TargetFolder/icons'
(otherwise the opening splash image doesn't get found)
John Emmas [Sat, 21 May 2016 10:37:50 +0000 (11:37 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 21 May 2016 09:30:35 +0000 (10:30 +0100)]
Don't copy the xpm pixmaps as they apparently aren't needed any more
John Emmas [Sat, 21 May 2016 09:28:50 +0000 (10:28 +0100)]
Accommodate the fact that our Mixbus icons got moved to a new path
John Emmas [Sat, 21 May 2016 09:25:11 +0000 (10:25 +0100)]
Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path
Robin Gareus [Sat, 21 May 2016 01:31:27 +0000 (03:31 +0200)]
clean up ArdourWindow
- gtk callbacks are protected, not public
- virtual d'tor (destroy window by ArdourWindow ptr)
Robin Gareus [Fri, 20 May 2016 22:01:11 +0000 (00:01 +0200)]
live signal analysis is for the processor -- not the plugin(s) inside
Robin Gareus [Fri, 20 May 2016 21:43:47 +0000 (23:43 +0200)]
add an lua DSP example filter w/inline display
Robin Gareus [Fri, 20 May 2016 21:15:58 +0000 (23:15 +0200)]
lua inline display error reporting
Robin Gareus [Fri, 20 May 2016 21:14:51 +0000 (23:14 +0200)]
add lua DSP transfer function calculation
Robin Gareus [Fri, 20 May 2016 11:53:59 +0000 (13:53 +0200)]
debug unconfiged plugins
Robin Gareus [Thu, 19 May 2016 14:29:39 +0000 (16:29 +0200)]
towards an Instrument Setup/Replace workflow
Robin Gareus [Thu, 19 May 2016 14:28:02 +0000 (16:28 +0200)]
add midi-bypass to re-configurable-i/o instruments
Robin Gareus [Thu, 19 May 2016 13:13:36 +0000 (15:13 +0200)]
fix lua instrument plugins
Robin Gareus [Thu, 19 May 2016 14:29:08 +0000 (16:29 +0200)]
prepare plugin configuration and replacing instruments
Robin Gareus [Wed, 18 May 2016 23:46:49 +0000 (01:46 +0200)]
...use shared backend function instead
Robin Gareus [Wed, 18 May 2016 23:46:11 +0000 (01:46 +0200)]
move "needs output port selector" (from pin-dialog) to backend
Robin Gareus [Wed, 18 May 2016 23:44:44 +0000 (01:44 +0200)]
consolidate add_processor code
* fixes drag/copy'ing sidechain sends (autodestruct)
* reduce duplicated code
* prepare for instrument replacement
Robin Gareus [Wed, 18 May 2016 18:07:11 +0000 (20:07 +0200)]
initialize snap-mode dropdown text
"SnapOff" is the default, so no change is triggered when calling
set_active() and initially the dropdown/ardour-button remains blank.
Robin Gareus [Wed, 18 May 2016 18:06:20 +0000 (20:06 +0200)]
Don't save instant while loading instant.xml
opening a recent session from a session can result in: Editor::constructed
and session_loaded() being true. A partial instant_save can occur (not
to mention: invalid XMLnode iterators)
Robin Gareus [Wed, 18 May 2016 15:35:52 +0000 (17:35 +0200)]
add locale guards for export format
Robin Gareus [Wed, 18 May 2016 15:35:38 +0000 (17:35 +0200)]
bypass plugin(s) - not processor (plugin-insert keeps mapping)
Robin Gareus [Tue, 17 May 2016 16:19:26 +0000 (18:19 +0200)]
some more mixbus backports (NO-OP for ardour)
Robin Gareus [Tue, 17 May 2016 16:18:34 +0000 (18:18 +0200)]
downgrade failed history/undo stack to info message
Robin Gareus [Tue, 17 May 2016 16:17:51 +0000 (18:17 +0200)]
backport canvas color functions from Mixbus
Robin Gareus [Tue, 17 May 2016 14:24:39 +0000 (16:24 +0200)]
move ancient icon source files away from the top-level
This also resolves an ambiguity with "icons/" when running
ardour from the source dir