ardour.git
9 years agoadd API to query a processor's frozen state.
Robin Gareus [Wed, 4 Jun 2014 00:23:24 +0000 (02:23 +0200)]
add API to query a processor's frozen state.

9 years agodisable pluginbox in RouteUI window when a track is frozen
Robin Gareus [Tue, 3 Jun 2014 22:27:01 +0000 (00:27 +0200)]
disable pluginbox in RouteUI window when a track is frozen

9 years agore-work bounce/freeze. Freezer stops at first active delivery.
Robin Gareus [Tue, 3 Jun 2014 19:08:45 +0000 (21:08 +0200)]
re-work bounce/freeze. Freezer stops at first active delivery.

amend to 8f52bf7d9f

9 years agoALSABackend: elaborate on start-up error cases
Robin Gareus [Tue, 3 Jun 2014 00:16:56 +0000 (02:16 +0200)]
ALSABackend: elaborate on start-up error cases

9 years agoRevert "When writing '.jackdrc' make sure we enclose any device names in
Paul Davis [Wed, 4 Jun 2014 00:08:26 +0000 (20:08 -0400)]
Revert "When writing '.jackdrc' make sure we enclose any device names in
quotation marks". This patch is incorrect. The string quoting must be done ONLY
when creating a string to be written to ~/.jackdrc or similar, not when
constructing an argument list.

This reverts commit 5626ea2b1f480bcdd5413c041ee9921fc299ab80.

9 years agofix two mysterious problems with stdint types
Paul Davis [Tue, 3 Jun 2014 20:38:33 +0000 (16:38 -0400)]
fix two mysterious problems with stdint types

9 years agomerge onecanvas and cairocanvas branches, and manually resolve conflicts, including...
Paul Davis [Tue, 3 Jun 2014 20:37:53 +0000 (16:37 -0400)]
merge onecanvas and cairocanvas branches, and manually resolve conflicts, including rounding in item_to_window() methods

9 years agomore profound changes to canvas scrolling, in particular find appropriate ScrollGroup...
Paul Davis [Tue, 3 Jun 2014 19:57:56 +0000 (15:57 -0400)]
more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()

9 years agofix missing leftover Canvas::pick_current_item() which was confusing button release...
Paul Davis [Sat, 24 May 2014 21:29:57 +0000 (17:29 -0400)]
fix missing leftover Canvas::pick_current_item() which was confusing button release event coordinates

9 years agouse window-based coordinates when picking current item so that we get per-item (per...
Paul Davis [Sat, 24 May 2014 02:05:08 +0000 (22:05 -0400)]
use window-based coordinates when picking current item so that we get per-item (per-scroll-group,really) computation of position and coverage.

9 years agovarious changes to get independent scrolling to work better in canvas. mostly tweaks...
Paul Davis [Fri, 23 May 2014 03:05:18 +0000 (23:05 -0400)]
various changes to get independent scrolling to work better in canvas. mostly tweaks relating to how scroll offsets are used during rendering.

Event handling offsets still require work.

9 years agoclean up ArdourCanvas::Arrow implementation to remove unshown polygon/head
Paul Davis [Fri, 23 May 2014 02:33:04 +0000 (22:33 -0400)]
clean up ArdourCanvas::Arrow implementation to remove unshown polygon/head

9 years agoremove utterly useless unused code
Paul Davis [Fri, 23 May 2014 02:32:26 +0000 (22:32 -0400)]
remove utterly useless unused code

9 years agoremove useless groups from timebar area, clarify scroll group naming in editor
Paul Davis [Wed, 21 May 2014 23:15:08 +0000 (19:15 -0400)]
remove useless groups from timebar area, clarify scroll group naming in editor

9 years agorationalize and centralize computation of positional offset and scroll offset for...
Paul Davis [Wed, 21 May 2014 23:14:40 +0000 (19:14 -0400)]
rationalize and centralize computation of positional offset and scroll offset for canvas items

9 years agoremove timebar canvas item from markers
Paul Davis [Wed, 21 May 2014 23:13:58 +0000 (19:13 -0400)]
remove timebar canvas item from markers

9 years agoinline ScrollGroup::canvas_position() for no particular reason
Paul Davis [Wed, 21 May 2014 23:13:26 +0000 (19:13 -0400)]
inline ScrollGroup::canvas_position() for no particular reason

9 years agoremove timebar canvas and just use a single canvas instead. This is just part one...
Paul Davis [Wed, 21 May 2014 15:12:57 +0000 (11:12 -0400)]
remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done

9 years agoavoid recursing through the entire canvas when scrolling - only scroll explicitly...
Paul Davis [Wed, 21 May 2014 14:25:28 +0000 (10:25 -0400)]
avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups

9 years agoremove incorrect calls to Editor::maybe_autoscroll() from specific Drag classes ...
Paul Davis [Wed, 21 May 2014 13:25:36 +0000 (09:25 -0400)]
remove incorrect calls to Editor::maybe_autoscroll() from specific Drag classes (autoscroll is handled by the Drag manager)

9 years agowhitespace deletion
Paul Davis [Wed, 21 May 2014 13:25:08 +0000 (09:25 -0400)]
whitespace deletion

9 years agodifferent approach to independent scrolling, involving ArdourCanvas::ScrollGroup
Paul Davis [Wed, 21 May 2014 03:08:15 +0000 (23:08 -0400)]
different approach to independent scrolling, involving ArdourCanvas::ScrollGroup

The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.

Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.

9 years agoremove unused variable
Paul Davis [Wed, 21 May 2014 03:04:23 +0000 (23:04 -0400)]
remove unused variable

9 years agoinitial redesign of canvas scrolling to facilitate independent x- and y-axis scrollin...
Paul Davis [Sun, 18 May 2014 16:22:23 +0000 (12:22 -0400)]
initial redesign of canvas scrolling to facilitate independent x- and y-axis scrolling of specific groups within the canvas.

This commit should cause no change in behaviour, but contains all the code and changes necessary
for the next step

9 years agonon-copy region drag now creates a new track when a region is dragged to the drop...
Paul Davis [Sat, 17 May 2014 19:51:08 +0000 (15:51 -0400)]
non-copy region drag now creates a new track when a region is dragged to the drop zone

9 years agopart one of allowing region drag to the bottom (drop-zone) rect of track canvas
Paul Davis [Sat, 17 May 2014 16:17:16 +0000 (12:17 -0400)]
part one of allowing region drag to the bottom (drop-zone) rect of track canvas

9 years agoWhen writing '.jackdrc' make sure we enclose any device names in quotation marks
John Emmas [Tue, 3 Jun 2014 13:04:10 +0000 (14:04 +0100)]
When writing '.jackdrc' make sure we enclose any device names in quotation marks

(in Windows, device names almost always contain whitespace)

9 years agoKeep this #include consistent with similar ones
John Emmas [Tue, 3 Jun 2014 13:02:05 +0000 (14:02 +0100)]
Keep this #include consistent with similar ones

(evoral/evoral doesn't get used anywhere else)

9 years agofix wscript for x-compiling
Robin Gareus [Tue, 3 Jun 2014 00:06:22 +0000 (02:06 +0200)]
fix wscript for x-compiling

9 years agoALSA backend: tweak midi parser (fix start mid sequence)
Robin Gareus [Mon, 2 Jun 2014 23:00:58 +0000 (01:00 +0200)]
ALSA backend: tweak midi parser (fix start mid sequence)

9 years agoALSA backend: device detection
Robin Gareus [Mon, 2 Jun 2014 22:50:26 +0000 (00:50 +0200)]
ALSA backend: device detection

9 years agofix linking against libasound
Robin Gareus [Mon, 2 Jun 2014 19:09:21 +0000 (21:09 +0200)]
fix linking against libasound

9 years agomake ALSA backend optional and disable by default
Robin Gareus [Mon, 2 Jun 2014 18:33:12 +0000 (20:33 +0200)]
make ALSA backend optional and disable by default

9 years agoALSA backend: add raw midi parser
Robin Gareus [Mon, 2 Jun 2014 17:20:04 +0000 (19:20 +0200)]
ALSA backend: add raw midi parser

9 years agoALSA backend: raw midi prototype
Robin Gareus [Mon, 2 Jun 2014 14:52:07 +0000 (16:52 +0200)]
ALSA backend: raw midi prototype

9 years agoALSA backend (based on Dummy backend and zita-alsa-pcmi)
Robin Gareus [Mon, 2 Jun 2014 12:29:19 +0000 (14:29 +0200)]
ALSA backend (based on Dummy backend and zita-alsa-pcmi)

9 years agoallow latency measurement at startup
Robin Gareus [Sun, 1 Jun 2014 19:43:48 +0000 (21:43 +0200)]
allow latency measurement at startup

9 years agotentative fix for requesting driver+device list from backend
Robin Gareus [Sun, 1 Jun 2014 19:43:03 +0000 (21:43 +0200)]
tentative fix for requesting driver+device list from backend

9 years agofix errors in manual conflict resolution
Paul Davis [Mon, 2 Jun 2014 15:42:35 +0000 (11:42 -0400)]
fix errors in manual conflict resolution

9 years agomerge with master and fix 4 conflicts by hand
Paul Davis [Mon, 2 Jun 2014 15:32:13 +0000 (11:32 -0400)]
merge with master and fix 4 conflicts by hand

9 years agoDummyBackend: fix midi event mux+sorting
Robin Gareus [Mon, 2 Jun 2014 10:19:35 +0000 (12:19 +0200)]
DummyBackend: fix midi event mux+sorting

9 years agofix display of cd-track-detail UI
Robin Gareus [Sun, 1 Jun 2014 17:48:21 +0000 (19:48 +0200)]
fix display of cd-track-detail UI

9 years agofix --with-dummy config option
Robin Gareus [Sun, 1 Jun 2014 16:18:32 +0000 (18:18 +0200)]
fix --with-dummy config option

9 years agoDummy backend, revise small things
Robin Gareus [Sun, 1 Jun 2014 16:18:08 +0000 (18:18 +0200)]
Dummy backend, revise small things

9 years agodummy-backend, fix physical ports in/out convention.
Robin Gareus [Sun, 1 Jun 2014 16:16:15 +0000 (18:16 +0200)]
dummy-backend, fix physical ports in/out convention.

9 years agodisable snap fades to 'other' region (for now)
Robin Gareus [Sat, 31 May 2014 22:40:07 +0000 (00:40 +0200)]
disable snap fades to 'other' region (for now)

9 years agotest possible 'flickering' with nvidia
Robin Gareus [Sat, 31 May 2014 16:22:34 +0000 (18:22 +0200)]
test possible 'flickering' with nvidia

9 years agodo not thin() automation event list on load.
Robin Gareus [Sat, 31 May 2014 15:13:47 +0000 (17:13 +0200)]
do not thin() automation event list on load.

only thin() when writing automation. This fixes issues with
loading short x-fades (which can be stretched later).

TODO: thinning should not just drop, but interpolate and use
more elaborate logic, compared to A2/MB2 Curve::merge_nascent()

9 years agofrankenstein'ed fade+trim cursors
Robin Gareus [Sat, 31 May 2014 14:07:38 +0000 (16:07 +0200)]
frankenstein'ed fade+trim cursors

9 years agoinitialize variables
Robin Gareus [Sat, 31 May 2014 13:18:43 +0000 (15:18 +0200)]
initialize variables

9 years agoshow fade+trim handles only if the operation is possible
Robin Gareus [Sat, 31 May 2014 13:15:46 +0000 (15:15 +0200)]
show fade+trim handles only if the operation is possible

9 years agosession fade-region-visible is for fades - not controls
Robin Gareus [Sat, 31 May 2014 12:16:15 +0000 (14:16 +0200)]
session fade-region-visible is for fades - not controls

9 years agodon't allow waveform to bleed into TimeAxisViewItem frame border
Robin Gareus [Sat, 31 May 2014 12:06:10 +0000 (14:06 +0200)]
don't allow waveform to bleed into TimeAxisViewItem frame border

9 years agoprepare fade+trim cursors (cursor image still missing)
Robin Gareus [Sat, 31 May 2014 12:04:41 +0000 (14:04 +0200)]
prepare fade+trim cursors (cursor image still missing)

9 years agoreduce outline of fade-in/active rectangle to line
Robin Gareus [Sat, 31 May 2014 12:00:28 +0000 (14:00 +0200)]
reduce outline of fade-in/active rectangle to line

9 years agoshow x-fade-rectangle only when hovering
Robin Gareus [Sat, 31 May 2014 12:00:04 +0000 (14:00 +0200)]
show x-fade-rectangle only when hovering

9 years agofix fade+trim handle hover color
Robin Gareus [Sat, 31 May 2014 02:51:02 +0000 (04:51 +0200)]
fix fade+trim handle hover color

9 years agoreset [trim] fade handle position if track-height changes
Robin Gareus [Sat, 31 May 2014 02:17:47 +0000 (04:17 +0200)]
reset [trim] fade handle position if track-height changes

9 years agotowards region-trims preserving fade duration
Robin Gareus [Sat, 31 May 2014 01:53:59 +0000 (03:53 +0200)]
towards region-trims preserving fade duration

9 years agouse CubicSpline interpolation for x-fade preset Shapes
Robin Gareus [Fri, 30 May 2014 15:24:12 +0000 (17:24 +0200)]
use CubicSpline interpolation for x-fade preset Shapes

9 years agoupdate Evoral::Curve to honor ControlList::InterpolationStyle
Robin Gareus [Fri, 30 May 2014 15:00:28 +0000 (17:00 +0200)]
update Evoral::Curve to honor ControlList::InterpolationStyle

9 years agoAdd newly introduced sources to MSVC project
John Emmas [Fri, 30 May 2014 11:52:03 +0000 (12:52 +0100)]
Add newly introduced sources to MSVC project

(xfade_curve stuff)

9 years agoRearrange some #includes to keep MSVC happy
John Emmas [Fri, 30 May 2014 11:50:49 +0000 (12:50 +0100)]
Rearrange some #includes to keep MSVC happy

9 years agoFix code to prepare re-enable cubic spline interpolation of automation data.
Robin Gareus [Fri, 30 May 2014 02:25:59 +0000 (04:25 +0200)]
Fix code to prepare re-enable cubic spline interpolation of automation data.

see also 24917e4c9e36ca57

9 years agopanner: backwards compatibility, constrain pan-range in old sessions
Robin Gareus [Fri, 30 May 2014 01:54:15 +0000 (03:54 +0200)]
panner: backwards compatibility, constrain pan-range in old sessions

fixes http://tracker.ardour.org/view.php?id=5823#c15686

This is only an issue when loading an old session
(pre 3.5.308 - actual change was 21ca6a10) for the first
time with newer ardour.
Saving and re-loading with ardour >= 3.5.308 fixed this as well.

9 years agosmooth visual curve drawing
Robin Gareus [Fri, 30 May 2014 01:04:02 +0000 (03:04 +0200)]
smooth visual curve drawing

9 years agouse fixed number of steps for dB-scale x-fade curves.
Robin Gareus [Thu, 29 May 2014 20:40:40 +0000 (22:40 +0200)]
use fixed number of steps for dB-scale x-fade curves.

32 steps is sufficient for all practical musical purposes.

9 years agofixed number of steps for symmetric fades:
Robin Gareus [Thu, 29 May 2014 19:03:46 +0000 (21:03 +0200)]
fixed number of steps for symmetric fades:

Extra steps are all below -20dB vs inverse signal being over -2dB.
linear interpolation -6dB steps is sufficient for the tail.

9 years agoback port 6576105 from cairocanvas as fix for data loss/file deletion
Paul Davis [Thu, 29 May 2014 20:28:57 +0000 (16:28 -0400)]
back port 6576105 from cairocanvas as fix for data loss/file deletion

9 years agofix data loss/file deletion caused by mistaken used of Session::source_by_path()...
Paul Davis [Thu, 29 May 2014 20:27:33 +0000 (16:27 -0400)]
fix data loss/file deletion caused by mistaken used of Session::source_by_path() to check if an AUDIO filesource with a given path already exists.

::source_by_path() was written for MIDI files only. I fixed the call and renamed the two similar functions (one for audio and one for MIDI) to make it more clear.

9 years agofix symmetric fade-shape (still variable number of steps)
Robin Gareus [Thu, 29 May 2014 18:53:18 +0000 (20:53 +0200)]
fix symmetric fade-shape (still variable number of steps)

9 years agoSymmetric x-fade, use equivalent of -6dB per step for 7 steps.
Robin Gareus [Thu, 29 May 2014 14:59:04 +0000 (16:59 +0200)]
Symmetric x-fade, use equivalent of -6dB per step for 7 steps.

9 years agoset Gtk::RadioAction state on instant.xml load.
Robin Gareus [Thu, 29 May 2014 12:16:15 +0000 (14:16 +0200)]
set Gtk::RadioAction state on instant.xml load.

This should really be done in ArdourDropdown somehow.

Fixes issues introduced at b9708d5: If after session-load some
radio-item other than the first one is set active, it is
impossible to switch to the first.
e.g. set "Snap to Grid", Save Session, Load Session, trying to
switch to "Snap to None" fails until another mode is selected first.

9 years agomore new fade icons from Chris Goddard
Robin Gareus [Thu, 29 May 2014 11:19:47 +0000 (13:19 +0200)]
more new fade icons from Chris Goddard

9 years agofix typo in vst doc.
Robin Gareus [Thu, 29 May 2014 05:49:36 +0000 (07:49 +0200)]
fix typo in vst doc.

9 years agoupdate x-fade context-menu
Robin Gareus [Thu, 29 May 2014 05:49:26 +0000 (07:49 +0200)]
update x-fade context-menu

9 years agosmoothen rendering of x-fades
Robin Gareus [Thu, 29 May 2014 05:48:43 +0000 (07:48 +0200)]
smoothen rendering of x-fades

9 years agoincrease accuracy of fades.
Robin Gareus [Thu, 29 May 2014 05:48:25 +0000 (07:48 +0200)]
increase accuracy of fades.

9 years agofix prev commit
Robin Gareus [Thu, 29 May 2014 03:30:13 +0000 (05:30 +0200)]
fix prev commit

9 years agorenice x-fade rendering w/cairo-antialiasing
Robin Gareus [Thu, 29 May 2014 03:06:02 +0000 (05:06 +0200)]
renice x-fade rendering w/cairo-antialiasing

9 years agorevert x-fade curves to Mixbus2.
Robin Gareus [Thu, 29 May 2014 02:37:13 +0000 (04:37 +0200)]
revert x-fade curves to Mixbus2.

9 years agomake building the dummy backend be a configure-time option. defaults to False for...
Paul Davis [Thu, 29 May 2014 02:30:06 +0000 (22:30 -0400)]
make building the dummy backend be a configure-time option. defaults to False for the time being

9 years agoreplace use of Curve with XFadeCurve.
Robin Gareus [Thu, 29 May 2014 01:10:22 +0000 (03:10 +0200)]
replace use of Curve with XFadeCurve.

9 years agoCanvas: new x-fade drawing, two curve widget
Robin Gareus [Thu, 29 May 2014 01:09:57 +0000 (03:09 +0200)]
Canvas: new x-fade drawing, two curve widget

9 years agoupdate fade icons
Robin Gareus [Wed, 28 May 2014 20:20:28 +0000 (22:20 +0200)]
update fade icons

9 years agofix wscript to handle git revision ID that consists of just MAJOR.MINOR, as will...
Paul Davis [Wed, 28 May 2014 19:53:25 +0000 (15:53 -0400)]
fix wscript to handle git revision ID that consists of just MAJOR.MINOR, as will happen if the repo is at the exact same rev as the MAJOR.MINOR tag

9 years agofix x-fade icons in context menu
Robin Gareus [Wed, 28 May 2014 17:46:31 +0000 (19:46 +0200)]
fix x-fade icons in context menu

9 years agoRevert "cairo sub-surface prototype & example
Robin Gareus [Wed, 28 May 2014 17:12:32 +0000 (19:12 +0200)]
Revert "cairo sub-surface prototype & example

This reverts commit c57fcde78cc0fb393fb7420f1edbc71edf572bd0.
and also     commit f1f8f89fcb9312065a818233dff4a3f1871fa7fe.

9 years agofix up operation of Editor::temporal_zoom_to_frame() which had not been updated since...
Paul Davis [Wed, 28 May 2014 16:18:30 +0000 (12:18 -0400)]
fix up operation of Editor::temporal_zoom_to_frame() which had not been updated since samples_per_pixel was changed to an integer (framecnt_t)

9 years agoexercise subsurface rendering for x-fade curves
Robin Gareus [Wed, 28 May 2014 15:12:33 +0000 (17:12 +0200)]
exercise subsurface rendering for x-fade curves

9 years agocairo sub-surface prototype - intermediate flattened group renderer.
Robin Gareus [Wed, 28 May 2014 15:12:03 +0000 (17:12 +0200)]
cairo sub-surface prototype - intermediate flattened group renderer.

9 years agoVST: fix name detection if effGetEffectName is N/A, remove superfluous \0.
Robin Gareus [Wed, 28 May 2014 00:15:52 +0000 (02:15 +0200)]
VST: fix name detection if effGetEffectName is N/A, remove superfluous \0.

9 years agoVST: properly query name from plugin
Robin Gareus [Tue, 27 May 2014 23:59:19 +0000 (01:59 +0200)]
VST: properly query name from plugin

9 years agoCurve: anti-aliasing.
Robin Gareus [Tue, 27 May 2014 17:28:56 +0000 (19:28 +0200)]
Curve: anti-aliasing.

use cairo for anti-aliasing, and ignore explicit Catmull-Rom
points for that fall on the same x-cordinate.

9 years agofor trx, use the primary clock for verbose cursor units
Paul Davis [Tue, 27 May 2014 17:25:46 +0000 (13:25 -0400)]
for trx, use the primary clock for verbose cursor units

9 years agox-fade drawing rework, part one
Robin Gareus [Tue, 27 May 2014 14:28:28 +0000 (16:28 +0200)]
x-fade drawing rework, part one

9 years agoimplement Curve in/outside fill
Robin Gareus [Tue, 27 May 2014 14:27:20 +0000 (16:27 +0200)]
implement Curve in/outside fill

9 years agoglobal one-time setup of waveform preferences.
Robin Gareus [Mon, 26 May 2014 22:34:27 +0000 (00:34 +0200)]
global one-time setup of waveform preferences.

see note in previous commit.

9 years agopersistent waveform shape setting.
Robin Gareus [Mon, 26 May 2014 22:33:42 +0000 (00:33 +0200)]
persistent waveform shape setting.

NOTE: the call to set_global_shape() only needs to happen once,
presumably in a hook in the editor that catches Config::Changed

The same is true for waveform-scale and clipping. But for now it's
at least consistent.

9 years agodirectly apply waveform clip-level changes
Robin Gareus [Mon, 26 May 2014 22:33:15 +0000 (00:33 +0200)]
directly apply waveform clip-level changes