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.
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.
Paul Davis [Sun, 24 Sep 2017 20:13:07 +0000 (16:13 -0400)]
fix ardev and friends to use new libtemporal
Paul Davis [Sun, 24 Sep 2017 16:57:27 +0000 (12:57 -0400)]
fix header order and space alignment
Paul Davis [Sun, 24 Sep 2017 16:03:54 +0000 (12:03 -0400)]
convert codebase to use Temporal for various time types
Paul Davis [Sun, 24 Sep 2017 16:03:13 +0000 (12:03 -0400)]
new header file for audio-based time types
Paul Davis [Sun, 24 Sep 2017 14:48:00 +0000 (10:48 -0400)]
part two of initial libtemporal creation
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
Paul Davis [Wed, 20 Sep 2017 19:46:34 +0000 (15:46 -0400)]
add (back) nutemp makefile
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.
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.
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()
Robin Gareus [Sat, 23 Sep 2017 00:31:52 +0000 (02:31 +0200)]
NO-OP: whitespace
Robin Gareus [Sat, 23 Sep 2017 00:31:00 +0000 (02:31 +0200)]
Fix changing playlist (Track is responsible for signal emission)
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.
Robin Gareus [Fri, 22 Sep 2017 23:06:10 +0000 (01:06 +0200)]
amend
ab3889ff: portaudio backend uses a vector for connections
Robin Gareus [Fri, 22 Sep 2017 22:18:18 +0000 (00:18 +0200)]
Consolidate check for internal/non-removable processors
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.
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
Robin Gareus [Fri, 22 Sep 2017 02:15:56 +0000 (04:15 +0200)]
NO-OP: whitespace
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)
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.
Robin Gareus [Thu, 21 Sep 2017 23:52:48 +0000 (01:52 +0200)]
NO-OP: whitespace
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.
Robin Gareus [Thu, 21 Sep 2017 18:02:11 +0000 (20:02 +0200)]
Don't recurse into MacVST bundle-folders during plugin-scan
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"
Robin Gareus [Thu, 21 Sep 2017 15:35:52 +0000 (17:35 +0200)]
Fix crash when unloading a partially loaded session.
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.
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
Robin Gareus [Wed, 20 Sep 2017 12:15:27 +0000 (14:15 +0200)]
Clean up and fix win x-compile script
Robin Gareus [Wed, 20 Sep 2017 12:06:04 +0000 (14:06 +0200)]
Fix buildstack revision report
Julien "_FrnchFrgg_" RIVAUD [Wed, 20 Sep 2017 06:56:44 +0000 (08:56 +0200)]
Bail out early if a screen isn't found
Paul Davis [Wed, 20 Sep 2017 01:39:46 +0000 (21:39 -0400)]
fix boolean logic for roll_delay vs. disk_samples_to_consume
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
Paul Davis [Wed, 20 Sep 2017 01:38:15 +0000 (21:38 -0400)]
clearer catastrophic error message, rather than assert()
Robin Gareus [Tue, 19 Sep 2017 23:29:46 +0000 (01:29 +0200)]
Add Lua script to print signal latencies
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)
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
Robin Gareus [Tue, 19 Sep 2017 21:08:05 +0000 (23:08 +0200)]
Explicit key-event forwarding for MacVST
Robin Gareus [Tue, 19 Sep 2017 18:26:26 +0000 (20:26 +0200)]
Fix buildstack report
Robin Gareus [Tue, 19 Sep 2017 16:41:51 +0000 (18:41 +0200)]
A frame can also be a rectangle [NSView frame]
Robin Gareus [Tue, 19 Sep 2017 16:40:29 +0000 (18:40 +0200)]
Revert some more frame/sample API issues
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.
Paul Davis [Tue, 19 Sep 2017 14:03:40 +0000 (10:03 -0400)]
fix unintentionally edited color/theme name from f2s edit
Paul Davis [Tue, 19 Sep 2017 13:45:30 +0000 (09:45 -0400)]
remove unusued roll_delay member of DiskReader
Robin Gareus [Tue, 19 Sep 2017 15:03:28 +0000 (17:03 +0200)]
Fix nightly typos'n'thinkos: initial-delay calculation
R. Mattes [Tue, 19 Sep 2017 12:22:46 +0000 (14:22 +0200)]
Fixed typo
Paul Davis [Tue, 19 Sep 2017 12:00:46 +0000 (08:00 -0400)]
correct version in pre-release warning
John Emmas [Tue, 19 Sep 2017 11:22:06 +0000 (12:22 +0100)]
Accommodate newly added/removed source(s) in our MSVC project (libardour)
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.
Robin Gareus [Tue, 19 Sep 2017 03:20:05 +0000 (05:20 +0200)]
More Coreaudio SDK fixes, after
30b087ab3
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
Robin Gareus [Tue, 19 Sep 2017 02:46:02 +0000 (04:46 +0200)]
partially revert
30b087ab3, CoreAudio SDK uses "Frames"
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
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
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)
Paul Davis [Mon, 18 Sep 2017 18:59:06 +0000 (14:59 -0400)]
remove debug output
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
Robin Gareus [Mon, 18 Sep 2017 18:41:43 +0000 (20:41 +0200)]
amend prev. commit
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)
Robin Gareus [Mon, 18 Sep 2017 17:38:54 +0000 (19:38 +0200)]
Enoify v6.x
Paul Davis [Mon, 18 Sep 2017 17:38:44 +0000 (13:38 -0400)]
Disk IO "pre-fader" means pre-trim, not post-trim
Len Ovens [Mon, 18 Sep 2017 17:27:25 +0000 (10:27 -0700)]
Menu Action list omit leading /
Paul Davis [Mon, 18 Sep 2017 17:24:04 +0000 (13:24 -0400)]
NO-OP: reindent
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
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
Paul Davis [Mon, 18 Sep 2017 15:53:47 +0000 (11:53 -0400)]
fix issue with initialization of a BBT_Time variable.
Paul Davis [Mon, 18 Sep 2017 14:36:57 +0000 (10:36 -0400)]
change iteratory indirection syntax, remove debug output
Paul Davis [Fri, 15 Sep 2017 03:07:07 +0000 (23:07 -0400)]
added TempoMap::Changed signal
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
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
Paul Davis [Thu, 14 Sep 2017 16:19:52 +0000 (12:19 -0400)]
continuing miscellaneous work on broken-out tempo code
Paul Davis [Wed, 13 Sep 2017 23:34:54 +0000 (19:34 -0400)]
add a _locked variant for TempoMap::dump()
Paul Davis [Wed, 13 Sep 2017 23:31:42 +0000 (19:31 -0400)]
add _locked() variants to new tempo experiment
Paul Davis [Wed, 13 Sep 2017 22:48:25 +0000 (18:48 -0400)]
changes required to operate with the Evoral::Beats ticktime commit
Paul Davis [Wed, 13 Sep 2017 22:48:16 +0000 (18:48 -0400)]
changes required to operate with the Evoral::Beats ticktime commit
Paul Davis [Wed, 13 Sep 2017 22:47:49 +0000 (18:47 -0400)]
remove Evoral types.cpp since it is no longer required
Paul Davis [Wed, 13 Sep 2017 21:34:26 +0000 (17:34 -0400)]
new header file for superclock stuff
Paul Davis [Wed, 13 Sep 2017 21:12:51 +0000 (17:12 -0400)]
extend/fix/improve operator overloads and methods for Timecode::BBT_Time
Paul Davis [Wed, 13 Sep 2017 21:12:34 +0000 (17:12 -0400)]
extend/fix/improve operator overloads and methods for Evoral::Beats
Paul Davis [Fri, 18 Aug 2017 16:28:14 +0000 (12:28 -0400)]
remove unused computation
Paul Davis [Thu, 7 Sep 2017 19:21:54 +0000 (15:21 -0400)]
udev rule for Ableton Push2 device
Paul Davis [Fri, 18 Aug 2017 16:17:46 +0000 (12:17 -0400)]
tweaks to the beatbox toy to properly track and connect note on/off
Paul Davis [Fri, 18 Aug 2017 16:17:24 +0000 (12:17 -0400)]
NOOP: formatting
Paul Davis [Fri, 18 Aug 2017 16:17:03 +0000 (12:17 -0400)]
::find_next_event() does not need to be a pure virtual in ControlSet (it can originate in AutomatableSequence)
Paul Davis [Thu, 17 Aug 2017 14:38:46 +0000 (10:38 -0400)]
remove locate debugging output
Paul Davis [Thu, 17 Aug 2017 14:33:38 +0000 (10:33 -0400)]
fix for loading older sessions, where the rest for "is-track" was "has-diskstream", rather than "has-playlist"
Robin Gareus [Thu, 17 Aug 2017 01:27:47 +0000 (03:27 +0200)]
Don't build ni-maschine support by default
While the pads work, overall integration is still not present, mainly
because the device does not lend itself for editing & mixing in a
DAW environment.
Robin Gareus [Thu, 17 Nov 2016 12:08:38 +0000 (13:08 +0100)]
Maschine2 UI: basic widgets
Robin Gareus [Thu, 17 Nov 2016 12:08:12 +0000 (13:08 +0100)]
Skeleton for NI Maschine2 Surface
Robin Gareus [Sun, 23 Oct 2016 21:00:46 +0000 (23:00 +0200)]
Add NI Maschine ctrl-surface HID/udev permissions config
Paul Davis [Tue, 8 Aug 2017 23:26:08 +0000 (19:26 -0400)]
sort of no-op ... remove debug output ... just basically put it in git so that i can fetch it on another machine
Paul Davis [Tue, 1 Aug 2017 15:13:35 +0000 (11:13 -0400)]
reinstate "restart seek" behaviour but use a new Session::_seek_counter member variable for this
Paul Davis [Fri, 28 Jul 2017 17:37:11 +0000 (13:37 -0400)]
no more locate-restart based on mismatch transport_frame and locate target
Paul Davis [Fri, 28 Jul 2017 16:10:04 +0000 (12:10 -0400)]
remove tests for locate_pending() before deciding whether to increment transport position
Paul Davis [Fri, 28 Jul 2017 15:11:33 +0000 (11:11 -0400)]
more verbose debug output for slave debugging
Paul Davis [Fri, 28 Jul 2017 15:02:34 +0000 (11:02 -0400)]
verbose debug output for slave debugging
Paul Davis [Fri, 28 Jul 2017 14:19:23 +0000 (10:19 -0400)]
attempt fix for LTC slave when locating
Paul Davis [Fri, 28 Jul 2017 13:00:31 +0000 (09:00 -0400)]
delete slave during Session::destroy
Paul Davis [Fri, 28 Jul 2017 12:44:51 +0000 (08:44 -0400)]
fix logic error that prevent input monitoring during slave wait states