ardour.git
8 years agoTempo ramps- bbt ruler scale accounts for non-beat ranges for consistent results.
nick_m [Thu, 24 Mar 2016 18:15:01 +0000 (05:15 +1100)]
Tempo ramps- bbt ruler scale accounts for non-beat ranges for consistent results.

8 years agoTempo ramps - display bbt in audio clock correctly when dragging tempos/meters.
nick_m [Thu, 24 Mar 2016 16:44:04 +0000 (03:44 +1100)]
Tempo ramps - display bbt in audio clock correctly when dragging tempos/meters.

8 years agoTempo ramps - towards having multiple audio-locked meters again.
nick_m [Thu, 24 Mar 2016 13:26:05 +0000 (00:26 +1100)]
Tempo ramps - towards having multiple audio-locked meters again.

- also speeds up meter dragging

8 years agoTempo ramps - bbt_time() speedup, more meter dragging performance improvements.
nick_m [Thu, 24 Mar 2016 12:22:28 +0000 (23:22 +1100)]
Tempo ramps - bbt_time() speedup, more meter dragging performance improvements.

8 years agoTempo rmps - amend last commit, speeding up dragging of audio-locked meters quite...
nick_m [Thu, 24 Mar 2016 11:17:59 +0000 (22:17 +1100)]
Tempo rmps - amend last commit, speeding up dragging of audio-locked meters quite a bit.

8 years agoTempo ramps - minor cleanup.
nick_m [Thu, 24 Mar 2016 11:09:48 +0000 (22:09 +1100)]
Tempo ramps - minor cleanup.

8 years agoTempo ramps - complete 'music locked meters are now positioned using beats' transition.
nick_m [Thu, 24 Mar 2016 08:42:28 +0000 (19:42 +1100)]
Tempo ramps - complete 'music locked meters are now positioned using beats' transition.

8 years agoTempo ramps - small bug fixes/cleanup.
nick_m [Wed, 23 Mar 2016 15:55:59 +0000 (02:55 +1100)]
Tempo ramps - small bug fixes/cleanup.

8 years agoTempo ramps - various bug fixes (meter drag undo, incorrect copy)
nick_m [Tue, 22 Mar 2016 17:55:12 +0000 (04:55 +1100)]
Tempo ramps - various bug fixes (meter drag undo, incorrect copy)

8 years agoTempo ramps - music-locked meters now use beats rather than pulses as their reference.
nick_m [Tue, 22 Mar 2016 14:11:00 +0000 (01:11 +1100)]
Tempo ramps - music-locked meters now use beats rather than pulses as their reference.

- fixes many problems with a non-zero audio-locked first meter.

8 years agoTempo ramps - clean up negative beat handling in beats_to_bbt_locked ()
nick_m [Mon, 21 Mar 2016 15:55:24 +0000 (02:55 +1100)]
Tempo ramps - clean up negative beat handling in beats_to_bbt_locked ()

8 years agoTempo ramps - fix crash with simplest case.
nick_m [Mon, 21 Mar 2016 15:24:04 +0000 (02:24 +1100)]
Tempo ramps - fix crash with simplest case.

8 years agoTempo ramps - fix compilation
nick_m [Mon, 21 Mar 2016 13:40:23 +0000 (00:40 +1100)]
Tempo ramps - fix compilation

8 years agoTempo ramps - show grid when dragging first meter.
nick_m [Mon, 21 Mar 2016 13:21:18 +0000 (00:21 +1100)]
Tempo ramps - show grid when dragging first meter.

8 years agoTempo ramps - improve music-locked meter drags, improve dump().
nick_m [Mon, 21 Mar 2016 12:47:57 +0000 (23:47 +1100)]
Tempo ramps - improve music-locked meter drags, improve dump().

- dump now shows cross-calculation of tempo positions.

8 years agoTempo ramps - fix constant tempos (again).
nick_m [Sun, 20 Mar 2016 12:31:44 +0000 (23:31 +1100)]
Tempo ramps - fix constant tempos (again).

8 years agoTempo ramps - remove double calls to RegionView::set_duration() and MidiRegionView...
nick_m [Sun, 20 Mar 2016 10:57:44 +0000 (21:57 +1100)]
Tempo ramps - remove double calls to RegionView::set_duration() and MidiRegionView::redisplay_model()

- massively improves note redrawing performance when dragging tempos
  and audio-locked meters,

8 years agoTempo ramps - code cleanup
nick_m [Sun, 20 Mar 2016 09:22:34 +0000 (20:22 +1100)]
Tempo ramps - code cleanup

8 years agoTempo ramps - allow moving the first meter if audio locked.
nick_m [Sat, 19 Mar 2016 14:03:10 +0000 (01:03 +1100)]
Tempo ramps - allow moving the first meter if audio locked.

- strangely broken wrt the grid, but kind-of works.

8 years agoTempo ramps - fix incorrect handling of unsloveable maps.
nick_m [Sat, 19 Mar 2016 13:27:27 +0000 (00:27 +1100)]
Tempo ramps - fix incorrect handling of unsloveable maps.

8 years agoTempo ramps - respect tempo note type and meter note divisor correctly.
nick_m [Sat, 19 Mar 2016 12:44:40 +0000 (23:44 +1100)]
Tempo ramps - respect tempo note type and meter note divisor correctly.

- tempo and meter position is now pulse-based,
  although meter still has a beat for convenience.

8 years agoTempo ramps - fix erroneous tempo_at_frame(), use correct type for offsets.
nick_m [Sun, 13 Mar 2016 18:26:34 +0000 (05:26 +1100)]
Tempo ramps - fix erroneous tempo_at_frame(), use correct type for offsets.

8 years agoTempo ramps - midi notes resize when dragged, misc bug fixes.
nick_m [Sun, 13 Mar 2016 17:09:53 +0000 (04:09 +1100)]
Tempo ramps - midi notes resize when dragged, misc bug fixes.

8 years agoTempo ramps - snap uses audio-locked meter offsets.
nick_m [Sun, 13 Mar 2016 14:47:55 +0000 (01:47 +1100)]
Tempo ramps - snap uses audio-locked meter offsets.

- fixes much of the fallout from the previous commit.

8 years agoTempo ramps - hook up tempo display, a new approach to audio-locked meters
nick_m [Sat, 12 Mar 2016 20:20:16 +0000 (07:20 +1100)]
Tempo ramps - hook up tempo display, a new approach to audio-locked meters

- audio locked meters define an offset which is used for all public
  TempoMap methods while the internal map remains contiguous.
  Probably a few unexpected consequences here, but seems to work mostly.

8 years agoTempo ramps - new (old) map solving strategy.
nick_m [Mon, 7 Mar 2016 23:21:02 +0000 (10:21 +1100)]
Tempo ramps - new (old) map solving strategy.

8 years agoTempo ramps - comment out debugging
nick_m [Mon, 7 Mar 2016 18:06:03 +0000 (05:06 +1100)]
Tempo ramps - comment out debugging

8 years agoTempo ramps -consolidate code, add precision check for tempo metrics.
nick_m [Mon, 7 Mar 2016 18:03:00 +0000 (05:03 +1100)]
Tempo ramps -consolidate code, add precision check for tempo metrics.

8 years agoTempo ramps - fix various thinkos.
nick_m [Mon, 7 Mar 2016 14:11:08 +0000 (01:11 +1100)]
Tempo ramps - fix various thinkos.

8 years agoTempo ramps - check for impossible locations tempo dialog bbt entry. reorganise code.
nick_m [Sun, 6 Mar 2016 19:35:32 +0000 (06:35 +1100)]
Tempo ramps - check for impossible locations tempo dialog bbt entry. reorganise code.

8 years agoTempo ramps - fix music-locked meter drags.
nick_m [Fri, 4 Mar 2016 07:33:05 +0000 (18:33 +1100)]
Tempo ramps - fix music-locked meter drags.

8 years agoTempo ramps - grid now follows dragging meter section.
nick_m [Fri, 4 Mar 2016 06:39:49 +0000 (17:39 +1100)]
Tempo ramps - grid now follows dragging meter section.

8 years agoTempo ramps - audio-locked meters have a bbt of 1|1|0
nick_m [Thu, 3 Mar 2016 23:32:08 +0000 (10:32 +1100)]
Tempo ramps - audio-locked meters have a bbt of 1|1|0

- possibly lots going wrong with this due to multiple occurences
  of 1|1|0.

8 years agoTempo ramps - meter sections drag again.
nick_m [Thu, 3 Mar 2016 22:11:21 +0000 (09:11 +1100)]
Tempo ramps - meter sections drag again.

8 years agoTempo ramps - comment and tidy.
nick_m [Thu, 3 Mar 2016 21:22:41 +0000 (08:22 +1100)]
Tempo ramps - comment and tidy.

8 years agoTempo ramps - add method to handle beat-based tempo reordering. clean code.
nick_m [Thu, 3 Mar 2016 20:32:00 +0000 (07:32 +1100)]
Tempo ramps - add method to handle beat-based tempo reordering. clean code.

8 years agoTempo ramps - change some prototypes, rename some methods.
nick_m [Thu, 3 Mar 2016 17:31:11 +0000 (04:31 +1100)]
Tempo ramps - change some prototypes, rename some methods.

8 years agoTempo ramps - fix ordering glitches when dragging tempos.
nick_m [Thu, 3 Mar 2016 15:58:13 +0000 (02:58 +1100)]
Tempo ramps - fix ordering glitches when dragging tempos.

8 years agoTempo ramps - fix comments.
nick_m [Thu, 3 Mar 2016 15:30:50 +0000 (02:30 +1100)]
Tempo ramps - fix comments.

8 years agoTempo ramps - fix constant tempo thinko.
nick_m [Thu, 3 Mar 2016 15:22:37 +0000 (02:22 +1100)]
Tempo ramps - fix constant tempo thinko.

8 years agoTempo ramps - fix return of constant tempo, experimentally use _at_tempo() methods.
nick_m [Thu, 3 Mar 2016 14:24:20 +0000 (01:24 +1100)]
Tempo ramps - fix return of constant tempo, experimentally use _at_tempo() methods.

8 years agoTempo ramps - rework mouse dragging of tempo marks, derive beat_at_tempo() and tempo_...
nick_m [Thu, 3 Mar 2016 13:08:21 +0000 (00:08 +1100)]
Tempo ramps - rework mouse dragging of tempo marks, derive beat_at_tempo() and tempo_at_beat().

8 years agoTempo ramps - re-enabe audio-locked meter sections, fix more locking errors.
nick_m [Tue, 1 Mar 2016 16:19:21 +0000 (03:19 +1100)]
Tempo ramps - re-enabe audio-locked meter sections, fix more locking errors.

8 years agoTempo ramps - fix crash-causing locking errors. clean up code a bit.
nick_m [Tue, 1 Mar 2016 15:07:32 +0000 (02:07 +1100)]
Tempo ramps - fix crash-causing locking errors. clean up code a bit.

8 years agoTempo ramps - setting bbt of an audio-locked tempo marker in the tempo dialog works.
nick_m [Mon, 29 Feb 2016 16:59:32 +0000 (03:59 +1100)]
Tempo ramps - setting bbt of an audio-locked tempo marker in the tempo dialog works.

8 years agoTempo ramps - fixes bbt wrt frame-locked tempo sections in the tempo dialog
nick_m [Sun, 28 Feb 2016 18:42:22 +0000 (05:42 +1100)]
Tempo ramps - fixes bbt wrt frame-locked tempo sections in the tempo dialog

8 years agoTempo ramps - fix thinko
nick_m [Sun, 28 Feb 2016 18:25:20 +0000 (05:25 +1100)]
Tempo ramps - fix thinko

8 years agoTempo ramps - restore bbt settings in tempo dialog for audio-locked tempo markers
nick_m [Sun, 28 Feb 2016 17:54:24 +0000 (04:54 +1100)]
Tempo ramps - restore bbt settings in tempo dialog for audio-locked tempo markers

- see comments

8 years agoTempo ramps - code cleanup
nick_m [Sun, 28 Feb 2016 16:46:31 +0000 (03:46 +1100)]
Tempo ramps - code cleanup

- what was i thinking?

8 years agoTempo ramps - all public TempoSection position parameters are session-relative.
nick_m [Sun, 28 Feb 2016 15:50:13 +0000 (02:50 +1100)]
Tempo ramps - all public TempoSection position parameters are session-relative.

8 years agoTempo ramps - fix messed up meter section state, audio-locked tempos ignore the bbt...
nick_m [Sun, 28 Feb 2016 12:09:02 +0000 (23:09 +1100)]
Tempo ramps - fix messed up meter section state, audio-locked tempos ignore the bbt setting in the tempo dialog for now.

8 years agoTempo ramps - comment new meter section behaviour.
nick_m [Sat, 27 Feb 2016 20:01:24 +0000 (07:01 +1100)]
Tempo ramps - comment new meter section behaviour.

8 years agoTempo ramps - fix changing to constant tempo
nick_m [Sat, 27 Feb 2016 19:26:05 +0000 (06:26 +1100)]
Tempo ramps - fix changing to constant tempo

8 years agoTempo ramps - first stab at metric marks locked to frames or beats.
nick_m [Sat, 27 Feb 2016 17:59:34 +0000 (04:59 +1100)]
Tempo ramps - first stab at metric marks locked to frames or beats.

- pretty much untested.

8 years agoTempo ramps - demystify comments a bit.
nick_m [Fri, 26 Feb 2016 02:46:06 +0000 (13:46 +1100)]
Tempo ramps - demystify comments a bit.

8 years agoTempo ramps - minor optimisation and comment clarification.
nick_m [Thu, 25 Feb 2016 20:01:37 +0000 (07:01 +1100)]
Tempo ramps - minor optimisation and comment clarification.

8 years agoTempo ramps - Remove the tick walk, store c_func, document the approach.
nick_m [Thu, 25 Feb 2016 16:10:15 +0000 (03:10 +1100)]
Tempo ramps - Remove the tick walk, store c_func, document the approach.

8 years agoTempo ramps - use consistent naming for _locked methods, use enum_2_string for TempoS...
nick_m [Sat, 20 Feb 2016 18:26:16 +0000 (05:26 +1100)]
Tempo ramps - use consistent naming for _locked methods, use enum_2_string for TempoSection::Type.

8 years agoTempo ramps - fix more namespace confusion
nick_m [Fri, 12 Feb 2016 17:23:02 +0000 (04:23 +1100)]
Tempo ramps - fix more namespace confusion

8 years agoTempo ramps - fix crazy compilable namespace thinko
nick_m [Fri, 12 Feb 2016 17:16:06 +0000 (04:16 +1100)]
Tempo ramps - fix crazy compilable namespace thinko

8 years agoTempo ramps - fix constant tempo assumption wrt midi ghost note.
nick_m [Fri, 12 Feb 2016 16:25:43 +0000 (03:25 +1100)]
Tempo ramps - fix constant tempo assumption wrt midi ghost note.

8 years agoTempo ramps - fix save/restore of region position_lock_style.
nick_m [Fri, 5 Feb 2016 19:29:06 +0000 (06:29 +1100)]
Tempo ramps - fix save/restore of region position_lock_style.

8 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.

8 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.

8 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().

8 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.

8 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.

8 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.

8 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).

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

8 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.

8 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

8 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.

8 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

8 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.

8 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

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

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

8 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.

8 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

8 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

8 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

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

8 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

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

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

8 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

8 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.

8 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

8 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.

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

8 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

8 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

8 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

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