ardour.git
7 years agoTempo ramps - api rename, fix various meter and tempo dialog bugs.
nick_m [Fri, 5 Feb 2016 19:07:27 +0000 (06:07 +1100)]
Tempo ramps - api rename, fix various meter and tempo dialog bugs.

7 years agoTempo ramps - update midi regions and locations when dragging tempo.
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.

7 years agoTempo ramps - improve the performance of recompute_map().
nick_m [Tue, 29 Dec 2015 05:51:10 +0000 (16:51 +1100)]
Tempo ramps - improve the performance of recompute_map().

7 years agoTempo ramps - clean up TempoSection, fix thinko in position function.
nick_m [Mon, 28 Dec 2015 14:46:34 +0000 (01:46 +1100)]
Tempo ramps - clean up TempoSection, fix thinko in position function.

7 years agoTempo ramps - replace ugly bootstrapping code in TempoMap::frame_time() with new...
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.

7 years agoTempo ramps - meter sections work again.
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.

7 years agoTempo ramps - remove the concept of bars from tempo sections.
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).

7 years agoTempo ramps - amend previous commit.
nick_m [Wed, 23 Dec 2015 18:59:36 +0000 (05:59 +1100)]
Tempo ramps - amend previous commit.

7 years agoTempo ramps - fix many problems wrt dragging tempos over each other.
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.

7 years agoTempo ramps - fix odd display when dragging one tempo past another.
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

7 years agoTempo ramps - massively speed up dragging of tempo marks.
nick_m [Wed, 23 Dec 2015 12:32:16 +0000 (23:32 +1100)]
Tempo ramps - massively speed up dragging of tempo marks.

7 years agoTempo ramps - don't use methods we don't need to use.
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

7 years agoTempo ramps - allow live updating of tempo markers.
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.

7 years agoTempo ramps - define_one_bar() delivers constant tempo.
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

7 years agoTempo ramps - port audio unit and midi clock slave.
nick_m [Sun, 20 Dec 2015 20:14:10 +0000 (07:14 +1100)]
Tempo ramps - port audio unit and midi clock slave.

- untested.

7 years agoTempo ramps - get tests to comile again.
nick_m [Sun, 20 Dec 2015 20:11:20 +0000 (07:11 +1100)]
Tempo ramps - get tests to comile again.

7 years agoTempo ramps - play nicely with legacy sessions.
nick_m [Sun, 20 Dec 2015 19:21:27 +0000 (06:21 +1100)]
Tempo ramps - play nicely with legacy sessions.

7 years agoFis inability to make the first tempo section constant tempo.
nick_m [Sun, 20 Dec 2015 19:01:57 +0000 (06:01 +1100)]
Fis inability to make the first tempo section constant tempo.

7 years agoTempo ramps - fix changing from const to ramp in the gui.
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.

7 years agotempo ramps - fix dumb iterator error. thanks robin.
nick_m [Sat, 19 Dec 2015 19:41:20 +0000 (06:41 +1100)]
tempo ramps - fix dumb iterator error. thanks robin.

7 years agoTempo ramps - locking debugging.
nick_m [Sat, 19 Dec 2015 19:32:07 +0000 (06:32 +1100)]
Tempo ramps - locking debugging.

7 years agoInitial stab at tempo ramps.
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.

7 years agoadd a test-sequence for polyphonic pressure
Robin Gareus [Fri, 27 May 2016 10:12:00 +0000 (12:12 +0200)]
add a test-sequence for polyphonic pressure

7 years agoensure that amp/fader is present on every route
Robin Gareus [Thu, 26 May 2016 13:42:33 +0000 (15:42 +0200)]
ensure that amp/fader is present on every route

7 years agotake read-lock when saving processor order
Robin Gareus [Thu, 26 May 2016 13:05:06 +0000 (15:05 +0200)]
take read-lock when saving processor order

7 years agofix maths thinko
Robin Gareus [Thu, 26 May 2016 08:44:13 +0000 (10:44 +0200)]
fix maths thinko

7 years agoticks are not affected by metrum
Robin Gareus [Thu, 26 May 2016 00:22:10 +0000 (02:22 +0200)]
ticks are not affected by metrum

7 years agofix Audio Unit BBT
Robin Gareus [Thu, 26 May 2016 00:20:14 +0000 (02:20 +0200)]
fix Audio Unit BBT

7 years agofix clang compile
Robin Gareus [Wed, 25 May 2016 23:52:34 +0000 (01:52 +0200)]
fix clang compile

7 years agoupdate VST audioMasterGetTime
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

7 years agofix timecode update after locate.
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.

7 years agouse updated API from prev. commit
Robin Gareus [Wed, 25 May 2016 15:59:28 +0000 (17:59 +0200)]
use updated API from prev. commit

7 years agoallow to configure transient detection sensitivity
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.

7 years agofix MTC alignment
Robin Gareus [Wed, 25 May 2016 15:13:09 +0000 (17:13 +0200)]
fix MTC alignment

7 years agotreat different normalization settings as different formats
Robin Gareus [Wed, 25 May 2016 12:24:13 +0000 (14:24 +0200)]
treat different normalization settings as different formats

7 years agomissing local export config is not an error
Robin Gareus [Wed, 25 May 2016 11:56:11 +0000 (13:56 +0200)]
missing local export config is not an error

7 years agodon't clear export-channel selection when switching presets
Robin Gareus [Wed, 25 May 2016 11:53:21 +0000 (13:53 +0200)]
don't clear export-channel selection when switching presets

7 years agofix script button sensitivity
Robin Gareus [Wed, 25 May 2016 01:17:53 +0000 (03:17 +0200)]
fix script button sensitivity

7 years agofix region gain via range tool
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.

7 years agofix menu order: consistent for region and range bounce
Robin Gareus [Wed, 25 May 2016 00:28:41 +0000 (02:28 +0200)]
fix menu order: consistent for region and range bounce

7 years agohide Freesound tab (until it gets fixed)
Robin Gareus [Tue, 24 May 2016 20:45:47 +0000 (22:45 +0200)]
hide Freesound tab (until it gets fixed)

7 years agobackend check for rec-safe (only allow to lock if not armed)
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)

7 years agorec-safe GUI
Robin Gareus [Tue, 24 May 2016 19:30:33 +0000 (21:30 +0200)]
rec-safe GUI

7 years agofix UI wire display to not coalesce views for non-linear i/o.
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.

7 years agoadditional in-place check
Robin Gareus [Tue, 24 May 2016 16:04:29 +0000 (18:04 +0200)]
additional in-place check

7 years agofix potential undefined DnD behavior for external drags
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".

7 years agofreeze thread is not detached and needs to be joined
Robin Gareus [Tue, 24 May 2016 01:29:48 +0000 (03:29 +0200)]
freeze thread is not detached and needs to be joined

7 years agomore inter-thread progress fixes; slight change of semantics:
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.

7 years agocont'd work & fix bug introduced in 03660573e
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.

7 years agocentralize rec-en sensitivity & prepare for rec-safe
Robin Gareus [Tue, 24 May 2016 01:01:27 +0000 (03:01 +0200)]
centralize rec-en sensitivity & prepare for rec-safe

7 years agovamp API/ABI uses gcc4/5 specific C++ :(
Robin Gareus [Mon, 23 May 2016 22:02:53 +0000 (00:02 +0200)]
vamp API/ABI uses gcc4/5 specific C++ :(

7 years agolua script to remove all unknown processors
Robin Gareus [Mon, 23 May 2016 20:27:09 +0000 (22:27 +0200)]
lua script to remove all unknown processors

7 years agosome more route related lua bindings
Robin Gareus [Mon, 23 May 2016 19:55:49 +0000 (21:55 +0200)]
some more route related lua bindings

7 years agomore harrison packaging
Robin Gareus [Mon, 23 May 2016 14:46:08 +0000 (16:46 +0200)]
more harrison packaging

7 years agoadd missing include
Robin Gareus [Mon, 23 May 2016 01:50:43 +0000 (03:50 +0200)]
add missing include

7 years agoremove misspelled unused define
Robin Gareus [Mon, 23 May 2016 00:29:55 +0000 (02:29 +0200)]
remove misspelled unused define

7 years agoadd a lua high/low pass filter with configurable slope
Robin Gareus [Sun, 22 May 2016 22:43:55 +0000 (00:43 +0200)]
add a lua high/low pass filter with configurable slope

7 years agopossible fix or workaround[?] for pt track-name encoding
Robin Gareus [Sun, 22 May 2016 22:05:02 +0000 (00:05 +0200)]
possible fix or workaround[?] for pt track-name encoding

7 years agoimport audio/midi at "session start by default
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.

7 years agoNO-OP indent
Robin Gareus [Sun, 22 May 2016 17:36:54 +0000 (19:36 +0200)]
NO-OP indent

7 years agooverhaul region/range spectrum analysis
Robin Gareus [Sun, 22 May 2016 17:29:08 +0000 (19:29 +0200)]
overhaul region/range spectrum analysis

7 years agotooltips for export analysis -- russian-fraction lost challenge :)
Robin Gareus [Sun, 22 May 2016 01:31:27 +0000 (03:31 +0200)]
tooltips for export analysis -- russian-fraction lost challenge :)

7 years agoMake sure MSVC knows which version of 'floor()' we want
John Emmas [Sun, 22 May 2016 14:53:16 +0000 (15:53 +0100)]
Make sure MSVC knows which version of 'floor()' we want

7 years agofix import-thread SNAFU
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.

7 years agoDummy Backend evolution
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

7 years agoRevert "debug unconfiged plugins"
Robin Gareus [Sat, 21 May 2016 15:54:34 +0000 (17:54 +0200)]
Revert "debug unconfiged plugins"

This reverts commit 125e2014aafbb0362725f780470f5654b66b53ce.

7 years agofix assert/crash if unknown processor's I/O mismatches
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.

7 years agofix initial engine state (windows: buffered-i/o; all: channelcount)
Robin Gareus [Sat, 21 May 2016 13:54:52 +0000 (15:54 +0200)]
fix initial engine state (windows: buffered-i/o; all: channelcount)

7 years agoconst'ness -- just because
Robin Gareus [Sat, 21 May 2016 13:45:49 +0000 (15:45 +0200)]
const'ness -- just because

7 years agocomplete lua DSP filter with parameter interpolation & comments
Robin Gareus [Sat, 21 May 2016 14:24:15 +0000 (16:24 +0200)]
complete lua DSP filter with parameter interpolation & comments

7 years ago"biquadratic" needs no camelcase - fixes API doc.
Robin Gareus [Sat, 21 May 2016 14:06:59 +0000 (16:06 +0200)]
"biquadratic" needs no camelcase - fixes API doc.

7 years agoallow lua to access array at an offset
Robin Gareus [Sat, 21 May 2016 13:43:19 +0000 (15:43 +0200)]
allow lua to access array at an offset

7 years agokeep DSP state variables finite.
Robin Gareus [Sat, 21 May 2016 10:52:02 +0000 (12:52 +0200)]
keep DSP state variables finite.

7 years agoWhen copying the PNG files from 'gtk2_ardour/resources', copy them to '$(TargetFolder...
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)

7 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 21 May 2016 10:37:50 +0000 (11:37 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

7 years agoDon't copy the xpm pixmaps as they apparently aren't needed any more
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

7 years agoAccommodate the fact that our Mixbus icons got moved to a new path
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

7 years agoAccommodate the fact that 'msvc_resources.rc.in' 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

7 years agoclean up ArdourWindow
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)

7 years agolive signal analysis is for the processor -- not the plugin(s) inside
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

7 years agoadd an lua DSP example filter w/inline display
Robin Gareus [Fri, 20 May 2016 21:43:47 +0000 (23:43 +0200)]
add an lua DSP example filter w/inline display

7 years agolua inline display error reporting
Robin Gareus [Fri, 20 May 2016 21:15:58 +0000 (23:15 +0200)]
lua inline display error reporting

7 years agoadd lua DSP transfer function calculation
Robin Gareus [Fri, 20 May 2016 21:14:51 +0000 (23:14 +0200)]
add lua DSP transfer function calculation

7 years agodebug unconfiged plugins
Robin Gareus [Fri, 20 May 2016 11:53:59 +0000 (13:53 +0200)]
debug unconfiged plugins

8 years agotowards an Instrument Setup/Replace workflow
Robin Gareus [Thu, 19 May 2016 14:29:39 +0000 (16:29 +0200)]
towards an Instrument Setup/Replace workflow

8 years agoadd midi-bypass to re-configurable-i/o instruments
Robin Gareus [Thu, 19 May 2016 14:28:02 +0000 (16:28 +0200)]
add midi-bypass to re-configurable-i/o instruments

8 years agofix lua instrument plugins
Robin Gareus [Thu, 19 May 2016 13:13:36 +0000 (15:13 +0200)]
fix lua instrument plugins

8 years agoprepare plugin configuration and replacing instruments
Robin Gareus [Thu, 19 May 2016 14:29:08 +0000 (16:29 +0200)]
prepare plugin configuration and replacing instruments

8 years ago...use shared backend function instead
Robin Gareus [Wed, 18 May 2016 23:46:49 +0000 (01:46 +0200)]
...use shared backend function instead

8 years agomove "needs output port selector" (from pin-dialog) to backend
Robin Gareus [Wed, 18 May 2016 23:46:11 +0000 (01:46 +0200)]
move "needs output port selector" (from pin-dialog) to backend

8 years agoconsolidate add_processor code
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

8 years agoinitialize snap-mode dropdown text
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.

8 years agoDon't save instant while loading instant.xml
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)

8 years agoadd locale guards for export format
Robin Gareus [Wed, 18 May 2016 15:35:52 +0000 (17:35 +0200)]
add locale guards for export format

8 years agobypass plugin(s) - not processor (plugin-insert keeps mapping)
Robin Gareus [Wed, 18 May 2016 15:35:38 +0000 (17:35 +0200)]
bypass plugin(s) - not processor (plugin-insert keeps mapping)

8 years agosome more mixbus backports (NO-OP for ardour)
Robin Gareus [Tue, 17 May 2016 16:19:26 +0000 (18:19 +0200)]
some more mixbus backports (NO-OP for ardour)

8 years agodowngrade failed history/undo stack to info message
Robin Gareus [Tue, 17 May 2016 16:18:34 +0000 (18:18 +0200)]
downgrade failed history/undo stack to info message

8 years agobackport canvas color functions from Mixbus
Robin Gareus [Tue, 17 May 2016 16:17:51 +0000 (18:17 +0200)]
backport canvas color functions from Mixbus

8 years agomove ancient icon source files away from the top-level
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

8 years agoprepare moving top-level icons/ -- move MSVC files
Robin Gareus [Tue, 17 May 2016 14:19:05 +0000 (16:19 +0200)]
prepare moving top-level icons/ -- move MSVC files