ardour.git
6 years agoUpdate the Metronome, align to output
Robin Gareus [Fri, 29 Sep 2017 02:44:00 +0000 (04:44 +0200)]
Update the Metronome, align to output

6 years agoOngoing work on latency compensation
Robin Gareus [Thu, 28 Sep 2017 04:31:12 +0000 (06:31 +0200)]
Ongoing work on latency compensation

The general goal is to align transport-sample to be the audible frame
and use that as "anchor" for all processing.

transport_sample cannot become negative (00:00:00:00 is the first audible
frame).

Internally transport pre-rolls (read-ahead) before the transport starts
to move. This allows inputs and disk to prefill the pipeline.

When starting to roll, the session counts down a global "remaning preroll"
counter, which is the worst-latency from in-to-out.
Each route in turn will start processing at its own output-latency.

Route::process_output_buffers() - which does the actual processing
incl disk i/o - begins by offsetting the "current sample" by the
route's process-latency and decrements the offset for each latent
processor.  At the end of the function the output will be aligned
and match  transport-sample - downstream-playback-latency (if any).

PS. This commit is a first step only: transport looping & vari-speed have
not yet been implemented/updated.

6 years agoAdd API to query IO latencies
Robin Gareus [Thu, 28 Sep 2017 04:08:30 +0000 (06:08 +0200)]
Add API to query IO latencies

IO::connected_latency() is relevant once Ardour publishes individual
per Port latency.

IO::public_latency() is only for debug purposes.

6 years agoAdd Processor API for global session-transport alignment
Robin Gareus [Thu, 28 Sep 2017 04:04:58 +0000 (06:04 +0200)]
Add Processor API for global session-transport alignment

These are only relevant for DiskIO Processors, however more
use-cases may present themselves (e.g. LuaDSP)

6 years agoPrepare removal of initial_delay
Robin Gareus [Thu, 28 Sep 2017 03:57:57 +0000 (05:57 +0200)]
Prepare removal of initial_delay

6 years agoclean up route header, NO-OP (except variable re-order)
Robin Gareus [Thu, 28 Sep 2017 03:54:42 +0000 (05:54 +0200)]
clean up route header, NO-OP (except variable re-order)

6 years agoNO-OP: Whitespace
Robin Gareus [Wed, 20 Sep 2017 21:12:03 +0000 (23:12 +0200)]
NO-OP: Whitespace

6 years agoRemove code related to capture-offset.
Robin Gareus [Thu, 28 Sep 2017 02:42:13 +0000 (04:42 +0200)]
Remove code related to capture-offset.

6 years agoNo more disk-reader roll-delay
Robin Gareus [Sat, 23 Sep 2017 22:54:26 +0000 (00:54 +0200)]
No more disk-reader roll-delay

It was not working in sdio/6.0-pre anyway and with upcoming changes to
latency compensation the concept of per disk[stream/reader] will go away.

6 years agoCheck in a few MSVC projects to accommodate the change from libtimecode to libtemporal
John Emmas [Thu, 28 Sep 2017 11:23:53 +0000 (12:23 +0100)]
Check in a few MSVC projects to accommodate the change from libtimecode to libtemporal

This is mostly to see if there'll be any problems when merging these changes into Mixbus. I'm guessing there'll be some conflicts in these projects (and a lot more to follow...)

6 years agoAccommodate newly added/removed source(s) in our MSVC project (libwidgets)
John Emmas [Thu, 28 Sep 2017 11:19:34 +0000 (12:19 +0100)]
Accommodate newly added/removed source(s) in our MSVC project (libwidgets)

6 years agoAccommodate newly added/removed source(s) in our MSVC project (libtemporal)
John Emmas [Thu, 28 Sep 2017 11:19:10 +0000 (12:19 +0100)]
Accommodate newly added/removed source(s) in our MSVC project (libtemporal)

6 years agoRename 'libs/temporal/MSVCtemporal/timecode.vcproj' to 'libs/temporal/MSVCtemporal...
John Emmas [Thu, 28 Sep 2017 09:21:54 +0000 (10:21 +0100)]
Rename 'libs/temporal/MSVCtemporal/timecode.vcproj' to 'libs/temporal/MSVCtemporal/temporal.vcproj'

6 years agoRename 'libs/temporal/MSVCtimecode' to 'libs/temporal/MSVCtemporal'
John Emmas [Thu, 28 Sep 2017 09:18:53 +0000 (10:18 +0100)]
Rename 'libs/temporal/MSVCtimecode' to 'libs/temporal/MSVCtemporal'

6 years agoPropagate Latency to backend/system ports (Dummy backend)
Robin Gareus [Thu, 28 Sep 2017 11:14:11 +0000 (13:14 +0200)]
Propagate Latency to backend/system ports (Dummy backend)

amend ab3889ff (which implements this for other backends)

6 years agoUpdate session-utils Readme
Robin Gareus [Wed, 27 Sep 2017 18:03:08 +0000 (20:03 +0200)]
Update session-utils Readme

6 years agoMinor refinement of new session util
Robin Gareus [Wed, 27 Sep 2017 16:50:24 +0000 (18:50 +0200)]
Minor refinement of new session util

6 years agoAdd session-util to create a new empty session
Robin Gareus [Wed, 27 Sep 2017 16:22:49 +0000 (18:22 +0200)]
Add session-util to create a new empty session

6 years agoMore s/frame/sample/ -- Lua Scripts
Robin Gareus [Wed, 27 Sep 2017 03:03:10 +0000 (05:03 +0200)]
More s/frame/sample/ -- Lua Scripts

Sadly this breaks existing loaded scripts. C'est la vie.

6 years agoAnother Lua example script
Robin Gareus [Tue, 26 Sep 2017 18:49:50 +0000 (20:49 +0200)]
Another Lua example script

* Track template
* MIDI track creation
* Adding plugins and setting parameters
* Dialogs

6 years agoExport needs to offset buffers when processing partial cycle
Robin Gareus [Tue, 26 Sep 2017 15:39:42 +0000 (17:39 +0200)]
Export needs to offset buffers when processing partial cycle

6 years agoFix FixedDelayline, default configuration increased set max-delay
Robin Gareus [Tue, 26 Sep 2017 15:39:00 +0000 (17:39 +0200)]
Fix FixedDelayline, default configuration increased set max-delay

6 years agochange libtemporal to be versioned like all others
Paul Davis [Mon, 25 Sep 2017 16:13:46 +0000 (12:13 -0400)]
change libtemporal to be versioned like all others

6 years agoadditional changes to follow library name change from timecode -> temporal
Paul Davis [Mon, 25 Sep 2017 15:12:32 +0000 (11:12 -0400)]
additional changes to follow library name change from timecode -> temporal

6 years agoRetire ClickBox + AutoSpin
Robin Gareus [Mon, 25 Sep 2017 03:21:53 +0000 (05:21 +0200)]
Retire ClickBox + AutoSpin

After over 17 years of honorable service to the Ardour Codebase.
ClickBox and AutoSpin are retiring into the git nirvana.

We're glad for the duty, decency, reliability, dignity, respect which
these classes brought to Arodur and look back in gratitude on their years
of service.

PS. First one to say "cruft" will be fired.

6 years agoRemove unused ClickBox
Robin Gareus [Mon, 25 Sep 2017 03:22:05 +0000 (05:22 +0200)]
Remove unused ClickBox

6 years agoSimplify the logic of on_scroll_event
Julien "_FrnchFrgg_" RIVAUD [Sun, 24 Sep 2017 19:37:19 +0000 (21:37 +0200)]
Simplify the logic of on_scroll_event

6 years agoMake ArdourFader's scroll handler obey to Alignment increments
Julien "_FrnchFrgg_" RIVAUD [Sun, 24 Sep 2017 19:20:20 +0000 (21:20 +0200)]
Make ArdourFader's scroll handler obey to Alignment increments

Currently, the scroll handler obeys to the page increment, but instead
of using the step increment for more precise scroll, it uses an
hardcoded one tenth of the page increment.

Use the step increment instead since it has been filled with sensible
values by ArdourFader's users.

6 years agoFix computation of AutomationController steps
Robin Gareus [Sun, 24 Sep 2017 19:10:31 +0000 (21:10 +0200)]
Fix computation of AutomationController steps

smallstep (resp. largestep) is intended to be the interface delta
corresponding to a desc.smallstep (resp. largestep) in internal scale,
and is computed by incrementing from desc.lower.

But ac->internal_to_interface(desc.lower) isn't necessarily zero. In
fact it currently is 0.5 / (M - m + 1) for integer parameters where M is
the maximum and m is the minimum possible value since it is the center
of the [0,1/(M-m+1)] interval.

Since the lower bound of the delta isn't always zero, don't ignore it
when computing the actual increment.

6 years agofix ardev and friends to use new libtemporal
Paul Davis [Sun, 24 Sep 2017 20:13:07 +0000 (16:13 -0400)]
fix ardev and friends to use new libtemporal

6 years agofix header order and space alignment
Paul Davis [Sun, 24 Sep 2017 16:57:27 +0000 (12:57 -0400)]
fix header order and space alignment

6 years agoconvert codebase to use Temporal for various time types
Paul Davis [Sun, 24 Sep 2017 16:03:54 +0000 (12:03 -0400)]
convert codebase to use Temporal for various time types

6 years agonew header file for audio-based time types
Paul Davis [Sun, 24 Sep 2017 16:03:13 +0000 (12:03 -0400)]
new header file for audio-based time types

6 years agopart two of initial libtemporal creation
Paul Davis [Sun, 24 Sep 2017 14:48:00 +0000 (10:48 -0400)]
part two of initial libtemporal creation

6 years agochange libtimecode to libtemporal, add Evoral::Beats, positional types and superclock...
Paul Davis [Sun, 24 Sep 2017 14:47:28 +0000 (10:47 -0400)]
change libtimecode to libtemporal, add Evoral::Beats, positional types and superclock headers

6 years agoadd (back) nutemp makefile
Paul Davis [Wed, 20 Sep 2017 19:46:34 +0000 (15:46 -0400)]
add (back) nutemp makefile

6 years agoThe beginning of the end for ClickBox
Robin Gareus [Sat, 23 Sep 2017 17:40:55 +0000 (19:40 +0200)]
The beginning of the end for ClickBox

This fixes various issues with integer controls (some values are not
reachable due to incorrect rounding in AutoSpin) and also pulls
in the various benefits of BarController:
  * mouse-drags
  * numeric entry
  * alternative entry modes (piano-keyboard, tempo-based values)

If this style remains, ClickBox & AutoSpin should be removed from
the codebase.

6 years agoAdd API set bar-controller spinbox digits
Robin Gareus [Sat, 23 Sep 2017 17:39:36 +0000 (19:39 +0200)]
Add API set bar-controller spinbox digits

..and reduce default to 4 digits.

6 years agoprefer floor() over round(), this avoids "-0"
Robin Gareus [Sat, 23 Sep 2017 16:59:39 +0000 (18:59 +0200)]
prefer floor() over round(), this avoids "-0"

GUI interface values are always in the range 0..1 so there's no abiguity
with trunc()

6 years agoNO-OP: whitespace
Robin Gareus [Sat, 23 Sep 2017 00:31:52 +0000 (02:31 +0200)]
NO-OP: whitespace

6 years agoFix changing playlist (Track is responsible for signal emission)
Robin Gareus [Sat, 23 Sep 2017 00:31:00 +0000 (02:31 +0200)]
Fix changing playlist (Track is responsible for signal emission)

6 years agoFix crash in playlist selector for removed tracks.
Robin Gareus [Fri, 22 Sep 2017 23:57:25 +0000 (01:57 +0200)]
Fix crash in playlist selector for removed tracks.

Removing a Track does not delete its playlists and one can keep
Playlists after Cleanup. Don't crash if a the track that the playlist
originally belonged to does no longer exist.

6 years agoamend ab3889ff: portaudio backend uses a vector for connections
Robin Gareus [Fri, 22 Sep 2017 23:06:10 +0000 (01:06 +0200)]
amend ab3889ff: portaudio backend uses a vector for connections

6 years agoConsolidate check for internal/non-removable processors
Robin Gareus [Fri, 22 Sep 2017 22:18:18 +0000 (00:18 +0200)]
Consolidate check for internal/non-removable processors

6 years agoPropagate Latency to backend/system ports
Robin Gareus [Fri, 22 Sep 2017 13:28:00 +0000 (15:28 +0200)]
Propagate Latency to backend/system ports

Set accumulated capture-latency for physical-outputs
and accumulated playback-latency for physical-inputs
after Ardour is done setting all non-physical port latencies.

This will be needed for latency-compensation of the complete graph.

6 years agoFix order of [initial] latency-computation
Robin Gareus [Fri, 22 Sep 2017 22:11:21 +0000 (00:11 +0200)]
Fix order of [initial] latency-computation

Session::post_playback_latency() sets the actual route latency,
so that playback latency notifications need to come after capture-
latency (backends follow the same rule: capture first).

NB. Session::initialize_latencies() was already using the correct order

6 years agoNO-OP: whitespace
Robin Gareus [Fri, 22 Sep 2017 02:15:56 +0000 (04:15 +0200)]
NO-OP: whitespace

6 years agoFix issue with Template manager deleting templates on no-rename
Robin Gareus [Fri, 22 Sep 2017 15:16:04 +0000 (17:16 +0200)]
Fix issue with Template manager deleting templates on no-rename

If old-name equals new-name, g_rename () will fail and cleanup
will delete new-path (which is equal to old-path)

6 years agoEnforce disk-reader to be after the disk-writer
Robin Gareus [Fri, 22 Sep 2017 01:47:38 +0000 (03:47 +0200)]
Enforce disk-reader to be after the disk-writer

If disk-monitoring is disabled: disk-reader position is not relevant.
If Rec-arm is off: disk-writer position is not relevant.

But...

   Play -> [plugins] -> Record

is basically a bounce and best done using the bounce operation.
(faster than realtime).

   Input + Play -> Record -> Output

Ardour would need to align playback with the Input to be recorded
and at the same time align it with output, so that a player can play
along on the same track. That's not possible without a time-machine (or
a 2nd play processor).

While it can work in theory under some special circumstances, allowing
the disk-reader before the disk-writer is really just confusing,
error prone and valid uses cases are better handled by dedicated
operations.

6 years agoNO-OP: whitespace
Robin Gareus [Thu, 21 Sep 2017 23:52:48 +0000 (01:52 +0200)]
NO-OP: whitespace

6 years agoAlignmentChoise is a Track Property
Robin Gareus [Thu, 21 Sep 2017 23:52:37 +0000 (01:52 +0200)]
AlignmentChoise is a Track Property

The DiskWriter uses AlignStyle which is set dynamically
by the Track and may depend on I/O connections.

6 years agoDon't recurse into MacVST bundle-folders during plugin-scan
Robin Gareus [Thu, 21 Sep 2017 18:02:11 +0000 (20:02 +0200)]
Don't recurse into MacVST bundle-folders during plugin-scan

6 years agofix clang compilation (include header ordering)
Robin Gareus [Thu, 21 Sep 2017 17:38:13 +0000 (19:38 +0200)]
fix clang compilation (include header ordering)

"i18n.h" needs to be included last, after types have been defined or
clang bails out:
"call to function 'operator<<' is not visible in the template definition"

6 years agoFix crash when unloading a partially loaded session.
Robin Gareus [Thu, 21 Sep 2017 15:35:52 +0000 (17:35 +0200)]
Fix crash when unloading a partially loaded session.

6 years agos/created with/modified with/
Robin Gareus [Thu, 21 Sep 2017 00:00:05 +0000 (02:00 +0200)]
s/created with/modified with/

Once a session has been saved by a more recent version or a different
variant, the session file is tied to that version/variant.

The created-with version is only for debug purposes and internal use.

6 years agoDon't try to limit the UI width if no screen is found
Julien "_FrnchFrgg_" RIVAUD [Wed, 20 Sep 2017 15:59:13 +0000 (17:59 +0200)]
Don't try to limit the UI width if no screen is found

6 years agoClean up and fix win x-compile script
Robin Gareus [Wed, 20 Sep 2017 12:15:27 +0000 (14:15 +0200)]
Clean up and fix win x-compile script

6 years agoFix buildstack revision report
Robin Gareus [Wed, 20 Sep 2017 12:06:04 +0000 (14:06 +0200)]
Fix buildstack revision report

6 years agoBail out early if a screen isn't found
Julien "_FrnchFrgg_" RIVAUD [Wed, 20 Sep 2017 06:56:44 +0000 (08:56 +0200)]
Bail out early if a screen isn't found

6 years agofix boolean logic for roll_delay vs. disk_samples_to_consume
Paul Davis [Wed, 20 Sep 2017 01:39:46 +0000 (21:39 -0400)]
fix boolean logic for roll_delay vs. disk_samples_to_consume

6 years agodo not advance DiskReader's idea of playback_sample while waiting for _roll_delay...
Paul Davis [Wed, 20 Sep 2017 01:38:34 +0000 (21:38 -0400)]
do not advance DiskReader's idea of playback_sample while waiting for _roll_delay to expire

6 years agoclearer catastrophic error message, rather than assert()
Paul Davis [Wed, 20 Sep 2017 01:38:15 +0000 (21:38 -0400)]
clearer catastrophic error message, rather than assert()

6 years agoAdd Lua script to print signal latencies
Robin Gareus [Tue, 19 Sep 2017 23:29:46 +0000 (01:29 +0200)]
Add Lua script to print signal latencies

6 years agoattempt to fix roll delay logic by moving it into DiskReader (the only place it matters)
Paul Davis [Tue, 19 Sep 2017 22:53:27 +0000 (18:53 -0400)]
attempt to fix roll delay logic by moving it into DiskReader (the only place it matters)

6 years agofix GTK+ warnings when trying to determine maximum screen size without a Gdk::Window
Paul Davis [Tue, 19 Sep 2017 22:38:40 +0000 (18:38 -0400)]
fix GTK+ warnings when trying to determine maximum screen size without a Gdk::Window

6 years agoExplicit key-event forwarding for MacVST
Robin Gareus [Tue, 19 Sep 2017 21:08:05 +0000 (23:08 +0200)]
Explicit key-event forwarding for MacVST

6 years agoFix buildstack report
Robin Gareus [Tue, 19 Sep 2017 18:26:26 +0000 (20:26 +0200)]
Fix buildstack report

6 years agoA frame can also be a rectangle [NSView frame]
Robin Gareus [Tue, 19 Sep 2017 16:41:51 +0000 (18:41 +0200)]
A frame can also be a rectangle [NSView frame]

6 years agoRevert some more frame/sample API issues
Robin Gareus [Tue, 19 Sep 2017 16:40:29 +0000 (18:40 +0200)]
Revert some more frame/sample API issues

6 years agoRevert "remove unusued roll_delay member of DiskReader"
Paul Davis [Tue, 19 Sep 2017 14:09:37 +0000 (10:09 -0400)]
Revert "remove unusued roll_delay member of DiskReader"

This reverts commit 92c2e06eb72950f91ca943a5219e2caeaeecda9f.

6 years agofix unintentionally edited color/theme name from f2s edit
Paul Davis [Tue, 19 Sep 2017 14:03:40 +0000 (10:03 -0400)]
fix unintentionally edited color/theme name from f2s edit

6 years agoremove unusued roll_delay member of DiskReader
Paul Davis [Tue, 19 Sep 2017 13:45:30 +0000 (09:45 -0400)]
remove unusued roll_delay member of DiskReader

6 years agoFix nightly typos'n'thinkos: initial-delay calculation
Robin Gareus [Tue, 19 Sep 2017 15:03:28 +0000 (17:03 +0200)]
Fix nightly typos'n'thinkos: initial-delay calculation

6 years agoFixed typo
R. Mattes [Tue, 19 Sep 2017 12:22:46 +0000 (14:22 +0200)]
Fixed typo

6 years agocorrect version in pre-release warning
Paul Davis [Tue, 19 Sep 2017 12:00:46 +0000 (08:00 -0400)]
correct version in pre-release warning

6 years agoAccommodate newly added/removed source(s) in our MSVC project (libardour)
John Emmas [Tue, 19 Sep 2017 11:22:06 +0000 (12:22 +0100)]
Accommodate newly added/removed source(s) in our MSVC project (libardour)

6 years agoMore s/frame/sample/ - fixes unit-test compilation
Robin Gareus [Tue, 19 Sep 2017 03:36:57 +0000 (05:36 +0200)]
More s/frame/sample/ - fixes unit-test compilation

"frame" in #include file-names was replaced, this actually renames
the files to follow suit.

6 years agoMore Coreaudio SDK fixes, after 30b087ab3
Robin Gareus [Tue, 19 Sep 2017 03:20:05 +0000 (05:20 +0200)]
More Coreaudio SDK fixes, after 30b087ab3

6 years agoAmend c8a9b28d3 and 40aebce. Fix gain automation edge-cases:
Robin Gareus [Tue, 19 Sep 2017 02:54:42 +0000 (04:54 +0200)]
Amend c8a9b28d3 and 40aebce. Fix gain automation edge-cases:

* drop Trim/Fader automation for bypassed processor
* Trim/Fader automation for Busses is always active when rolling

6 years agopartially revert 30b087ab3, CoreAudio SDK uses "Frames"
Robin Gareus [Tue, 19 Sep 2017 02:46:02 +0000 (04:46 +0200)]
partially revert 30b087ab3, CoreAudio SDK uses "Frames"

6 years agoremove getter for Amp::_apply_automation_gain; reset member to false after use, and...
Paul Davis [Tue, 19 Sep 2017 02:21:27 +0000 (22:21 -0400)]
remove getter for Amp::_apply_automation_gain; reset member to false after use, and true after ::setup_automation_gain
runs successfully

6 years agoconsolidate roll methods into Route::roll()
Paul Davis [Tue, 19 Sep 2017 01:27:55 +0000 (21:27 -0400)]
consolidate roll methods into Route::roll()

We want Track to shrink, and logic consolidation is always good. Route already knew about
disk_reader and disk_writer, now it knows about _monitoring_control too

6 years agoVarious updates and fixes for Latency Compensation
Robin Gareus [Tue, 19 Sep 2017 00:10:38 +0000 (02:10 +0200)]
Various updates and fixes for Latency Compensation

* centralize signal_latency_at_***_position to processors
* update initial-delay/roll-delay when processor order changes
* consolidate signal-latency calculation: use the same method
  for processor-changes and session's post_playback_latency.
* include relative output-delay in roll-delay
* fix capture processor position & optimize stem-export latency

(roll-delay fixes pending Route:roll() update)

6 years agoremove debug output
Paul Davis [Mon, 18 Sep 2017 18:59:06 +0000 (14:59 -0400)]
remove debug output

6 years agomanually fix up various cases where Gtk:Frame foo_frame had been changed to foo_sample
Paul Davis [Mon, 18 Sep 2017 18:45:56 +0000 (14:45 -0400)]
manually fix up various cases where Gtk:Frame foo_frame had been changed to foo_sample

6 years agoamend prev. commit
Robin Gareus [Mon, 18 Sep 2017 18:41:43 +0000 (20:41 +0200)]
amend prev. commit

6 years agoTweak default config
Robin Gareus [Mon, 18 Sep 2017 18:30:40 +0000 (20:30 +0200)]
Tweak default config

* disable MMC by default
* auto-detect audition-synth at first run (prefer gmsynth if available)

6 years agoEnoify v6.x
Robin Gareus [Mon, 18 Sep 2017 17:38:54 +0000 (19:38 +0200)]
Enoify v6.x

6 years agoDisk IO "pre-fader" means pre-trim, not post-trim
Paul Davis [Mon, 18 Sep 2017 17:38:44 +0000 (13:38 -0400)]
Disk IO "pre-fader" means pre-trim, not post-trim

6 years agoMenu Action list omit leading /
Len Ovens [Mon, 18 Sep 2017 17:27:25 +0000 (10:27 -0700)]
Menu Action list omit leading /

6 years agoNO-OP: reindent
Paul Davis [Mon, 18 Sep 2017 17:24:04 +0000 (13:24 -0400)]
NO-OP: reindent

6 years agomanually fix up comments in libs/timecode/src/time.cc that got edited by f2s
Paul Davis [Mon, 18 Sep 2017 17:19:12 +0000 (13:19 -0400)]
manually fix up comments in libs/timecode/src/time.cc that got edited by f2s

6 years agoglobally change all use of "frame" to refer to audio into "sample".
Paul Davis [Mon, 18 Sep 2017 16:39:17 +0000 (12:39 -0400)]
globally change all use of "frame" to refer to audio into "sample".

Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible

6 years agofix issue with initialization of a BBT_Time variable. 6.0-pre0
Paul Davis [Mon, 18 Sep 2017 15:53:47 +0000 (11:53 -0400)]
fix issue with initialization of a BBT_Time variable.

6 years agochange iteratory indirection syntax, remove debug output
Paul Davis [Mon, 18 Sep 2017 14:36:57 +0000 (10:36 -0400)]
change iteratory indirection syntax, remove debug output

6 years agoadded TempoMap::Changed signal
Paul Davis [Fri, 15 Sep 2017 03:07:07 +0000 (23:07 -0400)]
added TempoMap::Changed signal

6 years agoadd back-pointer to TempoMap from points, and push dirty=true into map
Paul Davis [Fri, 15 Sep 2017 02:50:08 +0000 (22:50 -0400)]
add back-pointer to TempoMap from points, and push dirty=true into map

6 years agomore changes to broken-out tempo code
Paul Davis [Fri, 15 Sep 2017 01:57:41 +0000 (21:57 -0400)]
more changes to broken-out tempo code

fetching grid and bar-centric grid now works, removed debug output, cleaned up ::rebuild
to do the right thing, fixed up some ::foo_at_bar() method implementations

6 years agocontinuing miscellaneous work on broken-out tempo code
Paul Davis [Thu, 14 Sep 2017 16:19:52 +0000 (12:19 -0400)]
continuing miscellaneous work on broken-out tempo code

6 years agoadd a _locked variant for TempoMap::dump()
Paul Davis [Wed, 13 Sep 2017 23:34:54 +0000 (19:34 -0400)]
add a _locked variant for TempoMap::dump()