13
0
Commit Graph

25935 Commits

Author SHA1 Message Date
d931f4f69d 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.
2017-09-23 19:42:04 +02:00
39fb5762b0 Add API set bar-controller spinbox digits
..and reduce default to 4 digits.
2017-09-23 19:39:36 +02:00
a9c8a25fc4 prefer floor() over round(), this avoids "-0"
GUI interface values are always in the range 0..1 so there's no abiguity
with trunc()
2017-09-23 18:59:39 +02:00
d50c738203 NO-OP: whitespace 2017-09-23 02:31:52 +02:00
94cce9e06e Fix changing playlist (Track is responsible for signal emission) 2017-09-23 02:31:00 +02:00
c724f3f82c 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.
2017-09-23 01:57:25 +02:00
e39a8b90d9 amend ab3889ff: portaudio backend uses a vector for connections 2017-09-23 01:06:10 +02:00
13cf4da011 Consolidate check for internal/non-removable processors 2017-09-23 00:34:01 +02:00
ab3889fff8 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.
2017-09-23 00:34:01 +02:00
25f45022db 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
2017-09-23 00:34:01 +02:00
c681e9d4d7 NO-OP: whitespace 2017-09-23 00:34:01 +02:00
969e941854 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)
2017-09-22 17:16:04 +02:00
aac8040e95 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.
2017-09-22 03:47:38 +02:00
431b2f15c6 NO-OP: whitespace 2017-09-22 01:52:48 +02:00
7a51d8f768 AlignmentChoise is a Track Property
The DiskWriter uses AlignStyle which is set dynamically
by the Track and may depend on I/O connections.
2017-09-22 01:52:37 +02:00
506a29e2d3 Don't recurse into MacVST bundle-folders during plugin-scan 2017-09-21 20:02:11 +02:00
4e5423b348 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"
2017-09-21 19:38:13 +02:00
87f5cd30d1 Fix crash when unloading a partially loaded session. 2017-09-21 17:35:52 +02:00
0fd861d8de 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.
2017-09-21 02:01:12 +02:00
a42f6ff828 Don't try to limit the UI width if no screen is found 2017-09-20 18:00:27 +02:00
5a9adba1fb Clean up and fix win x-compile script 2017-09-20 14:15:27 +02:00
3a5f98ba65 Fix buildstack revision report 2017-09-20 14:06:27 +02:00
9fbcecf2f5 Bail out early if a screen isn't found 2017-09-20 08:56:44 +02:00
7d559de3d0 fix boolean logic for roll_delay vs. disk_samples_to_consume 2017-09-19 21:39:46 -04:00
0a4b9ffba5 do not advance DiskReader's idea of playback_sample while waiting for _roll_delay to expire 2017-09-19 21:38:59 -04:00
bda2e9738f clearer catastrophic error message, rather than assert() 2017-09-19 21:38:59 -04:00
07de1144c6 Add Lua script to print signal latencies 2017-09-20 01:29:46 +02:00
48d11000e5 attempt to fix roll delay logic by moving it into DiskReader (the only place it matters) 2017-09-19 18:53:27 -04:00
cb71d49dc6 fix GTK+ warnings when trying to determine maximum screen size without a Gdk::Window 2017-09-19 18:38:55 -04:00
5de24ac02c Explicit key-event forwarding for MacVST 2017-09-19 23:08:05 +02:00
658c6e7141 Fix buildstack report 2017-09-19 20:26:26 +02:00
1c704b875d A frame can also be a rectangle [NSView frame] 2017-09-19 18:41:51 +02:00
59ccf91eea Revert some more frame/sample API issues 2017-09-19 18:40:29 +02:00
ebf6856579 Revert "remove unusued roll_delay member of DiskReader"
This reverts commit 92c2e06eb72950f91ca943a5219e2caeaeecda9f.
2017-09-19 11:15:22 -04:00
41bd6d3721 fix unintentionally edited color/theme name from f2s edit 2017-09-19 11:15:22 -04:00
e44ae422eb remove unusued roll_delay member of DiskReader 2017-09-19 11:15:22 -04:00
21aa2f529f Fix nightly typos'n'thinkos: initial-delay calculation 2017-09-19 17:03:28 +02:00
R. Mattes
f7e35024b6 Fixed typo 2017-09-19 08:34:04 -04:00
b1659f8c31 correct version in pre-release warning 2017-09-19 08:34:04 -04:00
2c31867c8a Accommodate newly added/removed source(s) in our MSVC project (libardour) 2017-09-19 12:22:06 +01:00
16f9f58057 More s/frame/sample/ - fixes unit-test compilation
"frame" in #include file-names was replaced, this actually renames
the files to follow suit.
2017-09-19 05:37:58 +02:00
666aa5a557 More Coreaudio SDK fixes, after 30b087ab3 2017-09-19 05:20:05 +02:00
29e553ab86 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
2017-09-19 04:54:42 +02:00
1ec471c961 partially revert 30b087ab3, CoreAudio SDK uses "Frames" 2017-09-19 04:47:10 +02:00
c8a9b28d3b remove getter for Amp::_apply_automation_gain; reset member to false after use, and true after ::setup_automation_gain
runs successfully
2017-09-18 22:21:27 -04:00
40aebce699 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
2017-09-18 21:28:02 -04:00
10b76ae631 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)
2017-09-19 02:11:22 +02:00
013088ca5f remove debug output 2017-09-18 14:59:11 -04:00
ea5fa64c0b manually fix up various cases where Gtk:Frame foo_frame had been changed to foo_sample 2017-09-18 14:59:11 -04:00
d381714510 amend prev. commit 2017-09-18 20:41:43 +02:00