ardour.git
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()

6 years agoadd _locked() variants to new tempo experiment
Paul Davis [Wed, 13 Sep 2017 23:31:42 +0000 (19:31 -0400)]
add _locked() variants to new tempo experiment

6 years agochanges required to operate with the Evoral::Beats ticktime commit
Paul Davis [Wed, 13 Sep 2017 22:48:25 +0000 (18:48 -0400)]
changes required to operate with the Evoral::Beats ticktime commit

6 years agochanges 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

6 years agoremove Evoral types.cpp since it is no longer required
Paul Davis [Wed, 13 Sep 2017 22:47:49 +0000 (18:47 -0400)]
remove Evoral types.cpp since it is no longer required

6 years agonew header file for superclock stuff
Paul Davis [Wed, 13 Sep 2017 21:34:26 +0000 (17:34 -0400)]
new header file for superclock stuff

6 years agoextend/fix/improve operator overloads and methods for Timecode::BBT_Time
Paul Davis [Wed, 13 Sep 2017 21:12:51 +0000 (17:12 -0400)]
extend/fix/improve operator overloads and methods for Timecode::BBT_Time

6 years agoextend/fix/improve operator overloads and methods for Evoral::Beats
Paul Davis [Wed, 13 Sep 2017 21:12:34 +0000 (17:12 -0400)]
extend/fix/improve operator overloads and methods for Evoral::Beats

6 years agoremove unused computation
Paul Davis [Fri, 18 Aug 2017 16:28:14 +0000 (12:28 -0400)]
remove unused computation

6 years agoudev rule for Ableton Push2 device
Paul Davis [Thu, 7 Sep 2017 19:21:54 +0000 (15:21 -0400)]
udev rule for Ableton Push2 device

6 years agotweaks to the beatbox toy to properly track and connect note on/off
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

6 years agoNOOP: formatting
Paul Davis [Fri, 18 Aug 2017 16:17:24 +0000 (12:17 -0400)]
NOOP: formatting

6 years ago::find_next_event() does not need to be a pure virtual in ControlSet (it can originat...
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)

6 years agoremove locate debugging output
Paul Davis [Thu, 17 Aug 2017 14:38:46 +0000 (10:38 -0400)]
remove locate debugging output

6 years agofix for loading older sessions, where the rest for "is-track" was "has-diskstream...
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"

6 years agoDon't build ni-maschine support by default
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.

6 years agoMaschine2 UI: basic widgets
Robin Gareus [Thu, 17 Nov 2016 12:08:38 +0000 (13:08 +0100)]
Maschine2 UI: basic widgets

6 years agoSkeleton for NI Maschine2 Surface
Robin Gareus [Thu, 17 Nov 2016 12:08:12 +0000 (13:08 +0100)]
Skeleton for NI Maschine2 Surface

6 years agoAdd NI Maschine ctrl-surface HID/udev permissions config
Robin Gareus [Sun, 23 Oct 2016 21:00:46 +0000 (23:00 +0200)]
Add NI Maschine ctrl-surface HID/udev permissions config

6 years agosort of no-op ... remove debug output ... just basically put it in git so that i...
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

6 years agoreinstate "restart seek" behaviour but use a new Session::_seek_counter member variab...
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

6 years agono more locate-restart based on mismatch transport_frame and locate target
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

6 years agoremove tests for locate_pending() before deciding whether to increment transport...
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

6 years agomore verbose debug output for slave debugging
Paul Davis [Fri, 28 Jul 2017 15:11:33 +0000 (11:11 -0400)]
more verbose debug output for slave debugging

6 years agoverbose debug output for slave debugging
Paul Davis [Fri, 28 Jul 2017 15:02:34 +0000 (11:02 -0400)]
verbose debug output for slave debugging

6 years agoattempt fix for LTC slave when locating
Paul Davis [Fri, 28 Jul 2017 14:19:23 +0000 (10:19 -0400)]
attempt fix for LTC slave when locating

6 years agodelete slave during Session::destroy
Paul Davis [Fri, 28 Jul 2017 13:00:31 +0000 (09:00 -0400)]
delete slave during Session::destroy

6 years agofix logic error that prevent input monitoring during slave wait states
Paul Davis [Fri, 28 Jul 2017 12:44:51 +0000 (08:44 -0400)]
fix logic error that prevent input monitoring during slave wait states

6 years agodon't attempt MIDI playback if there are no MIDI buffers provided for processing
Paul Davis [Fri, 28 Jul 2017 01:23:11 +0000 (21:23 -0400)]
don't attempt MIDI playback if there are no MIDI buffers provided for processing

6 years agoadditional DEBUG_TRACE output for slave/diskreader
Paul Davis [Thu, 27 Jul 2017 21:39:45 +0000 (17:39 -0400)]
additional DEBUG_TRACE output for slave/diskreader

6 years agoreset DiskReader "no disk output" flag in a couple of exceptional cases
Paul Davis [Thu, 27 Jul 2017 21:27:49 +0000 (17:27 -0400)]
reset DiskReader "no disk output" flag in a couple of exceptional cases

6 years agoremove debug output
Paul Davis [Thu, 27 Jul 2017 19:24:46 +0000 (15:24 -0400)]
remove debug output

6 years agoNon-layered MIDI recording
Paul Davis [Thu, 27 Jul 2017 19:24:36 +0000 (15:24 -0400)]
Non-layered MIDI recording

hand-adapted version of d977cc323852c from master

This does not merge MIDI data, but trims MIDI regions at rec-stop like
non-layered audio-recording does.

6 years agoremove debug output
Paul Davis [Thu, 27 Jul 2017 18:59:44 +0000 (14:59 -0400)]
remove debug output

6 years agowhen calculating average slave/master delta, use absolute value.
Paul Davis [Thu, 27 Jul 2017 18:59:22 +0000 (14:59 -0400)]
when calculating average slave/master delta, use absolute value.

We're interested in average distance between slave/master, the direction is irrelevant and
using sign as direction causes the computed average to be absurd

6 years agoremove all code related to "silent roll" concept. some debug output added
Paul Davis [Thu, 27 Jul 2017 16:32:10 +0000 (12:32 -0400)]
remove all code related to "silent roll" concept. some debug output added

6 years agoNO-OP: mark various state property names as explicitly non-translated
Paul Davis [Tue, 25 Jul 2017 21:31:30 +0000 (17:31 -0400)]
NO-OP: mark various state property names as explicitly non-translated

6 years agouse modified API name in GUI
Paul Davis [Tue, 25 Jul 2017 21:29:30 +0000 (17:29 -0400)]
use modified API name in GUI

6 years agomove disk_{writer,reader} into Route to allow for simple, sensible implementation...
Paul Davis [Tue, 25 Jul 2017 21:29:19 +0000 (17:29 -0400)]
move disk_{writer,reader} into Route to allow for simple, sensible implementation of DiskIOPoint

6 years agodon't (re)create disk reader/writer if they already exist
Paul Davis [Tue, 25 Jul 2017 17:02:37 +0000 (13:02 -0400)]
don't (re)create disk reader/writer if they already exist

6 years agoauditioner always runs at normal speed, independent of transport speed
Paul Davis [Tue, 25 Jul 2017 17:01:31 +0000 (13:01 -0400)]
auditioner always runs at normal speed, independent of transport speed

6 years agoadd to LUA API (new Stripable API)
Paul Davis [Tue, 25 Jul 2017 17:00:50 +0000 (13:00 -0400)]
add to LUA API (new Stripable API)

6 years agouse const
Paul Davis [Tue, 25 Jul 2017 17:00:14 +0000 (13:00 -0400)]
use const

6 years agoremove unused + commented line
Paul Davis [Tue, 25 Jul 2017 17:00:03 +0000 (13:00 -0400)]
remove unused + commented line

6 years agosubtle change to _need_butler logic to ensure correct result in mixed-type contexts
Paul Davis [Tue, 25 Jul 2017 16:59:31 +0000 (12:59 -0400)]
subtle change to _need_butler logic to ensure correct result in mixed-type contexts