ardour.git
9 years agodon't build a-r-d if alsa backend is not built
Robin Gareus [Thu, 5 Jun 2014 16:18:56 +0000 (18:18 +0200)]
don't build a-r-d if alsa backend is not built

9 years agoadd default timeout for old dbus headers
Robin Gareus [Thu, 5 Jun 2014 16:18:37 +0000 (18:18 +0200)]
add default timeout for old dbus headers

9 years agoremove unused label_color from TimeAxisViewItem
Paul Davis [Thu, 5 Jun 2014 16:04:34 +0000 (12:04 -0400)]
remove unused label_color from TimeAxisViewItem

9 years agohopefully fix up selection of color for region name text, under all conditions
Paul Davis [Thu, 5 Jun 2014 16:00:24 +0000 (12:00 -0400)]
hopefully fix up selection of color for region name text, under all conditions

9 years agoremove debugging output
Paul Davis [Thu, 5 Jun 2014 15:29:17 +0000 (11:29 -0400)]
remove debugging output

9 years agobasic, initial structure for canvas widget item
Paul Davis [Wed, 4 Jun 2014 03:57:12 +0000 (23:57 -0400)]
basic, initial structure for canvas widget item

9 years agoallow public access to CairoWidget::render()
Paul Davis [Wed, 4 Jun 2014 03:56:08 +0000 (23:56 -0400)]
allow public access to CairoWidget::render()

9 years agomake alsa/ardour dbus-device request tool generally useful.
Robin Gareus [Thu, 5 Jun 2014 16:02:43 +0000 (18:02 +0200)]
make alsa/ardour dbus-device request tool generally useful.

9 years agoALSA backend: require both in+output.
Robin Gareus [Thu, 5 Jun 2014 01:27:19 +0000 (03:27 +0200)]
ALSA backend: require both in+output.

9 years agomark dbus reservation tool optional
Robin Gareus [Thu, 5 Jun 2014 01:26:52 +0000 (03:26 +0200)]
mark dbus reservation tool optional

9 years agoincrease system-exec timeouts for kill.
Robin Gareus [Thu, 5 Jun 2014 00:09:18 +0000 (02:09 +0200)]
increase system-exec timeouts for kill.

9 years agoDBus ALSA device reservation
Robin Gareus [Thu, 5 Jun 2014 00:08:56 +0000 (02:08 +0200)]
DBus ALSA device reservation

9 years agoproper dbus device reservation
Robin Gareus [Wed, 4 Jun 2014 23:55:31 +0000 (01:55 +0200)]
proper dbus device reservation

9 years agoChange the function signature for 'abs(int64_t)' (Windows) so that it doesn't conflic...
John Emmas [Wed, 4 Jun 2014 17:12:30 +0000 (18:12 +0100)]
Change the function signature for 'abs(int64_t)' (Windows) so that it doesn't conflict with more recent versions of MSVC

9 years agobreak out ALSA related functions into libardouralsautil
Robin Gareus [Wed, 4 Jun 2014 17:16:37 +0000 (19:16 +0200)]
break out ALSA related functions into libardouralsautil

9 years agoALSA: tentative hack to request audio-device.
Robin Gareus [Wed, 4 Jun 2014 15:09:55 +0000 (17:09 +0200)]
ALSA: tentative hack to request audio-device.

9 years agoALSA backend: engine.halted_callback if the process thread dies
Robin Gareus [Wed, 4 Jun 2014 15:04:25 +0000 (17:04 +0200)]
ALSA backend: engine.halted_callback if the process thread dies

9 years agoif the user chooses to stop the jack-backend, mark it as stopped. Don't display the...
Robin Gareus [Wed, 4 Jun 2014 14:58:53 +0000 (16:58 +0200)]
if the user chooses to stop the jack-backend, mark it as stopped. Don't display the "..was shutdown .. was not fast enough.." message.

9 years agofixes to change engines while Ardour is running.
Robin Gareus [Wed, 4 Jun 2014 14:54:17 +0000 (16:54 +0200)]
fixes to change engines while Ardour is running.

When a new backend is selected, it is loaded to query
available devices etc. This effectively drops the current backend.

9 years ago Add newly introduced sources to MSVC project
John Emmas [Wed, 4 Jun 2014 12:50:06 +0000 (13:50 +0100)]
 Add newly introduced sources to MSVC project

(scroll_group stuff)

9 years agoRevert "add API to query a processor's frozen state."
Robin Gareus [Wed, 4 Jun 2014 00:40:19 +0000 (02:40 +0200)]
Revert "add API to query a processor's frozen state."

Theoretically one could alter the plugins after a delivery even on a
frozen track. ..or even change settings, the ordering and add/remove
plugins after the frozen part of a track.

We won't go there. Frozen is frozen. this API is not needed after all.

This reverts commit a771dea20332bf31162ccb13a518e0348b441dd1.

9 years agoRevert "Revert "ALSA backend: separate flags for is-running and should-be-running""
Robin Gareus [Wed, 4 Jun 2014 00:39:39 +0000 (02:39 +0200)]
Revert "Revert "ALSA backend: separate flags for is-running and should-be-running""

sorry, c/p error
This reverts commit 9658b77327c21d5748604b882f67c5004ffd10ad.

9 years agoRevert "ALSA backend: separate flags for is-running and should-be-running"
Robin Gareus [Wed, 4 Jun 2014 00:34:58 +0000 (02:34 +0200)]
Revert "ALSA backend: separate flags for is-running and should-be-running"

Theoretically one could alter the plugins after a delivery even on a
frozen track. ..or even change settings, the ordering and add/remove
plugins after the frozen part of a track.

We won't go there. Frozen is frozen. this API is not needed after all.

This reverts commit 6d89488d64d44ed4b3283308a583b320300553c8.

9 years agoALSA backend: separate flags for is-running and should-be-running
Robin Gareus [Tue, 3 Jun 2014 22:56:20 +0000 (00:56 +0200)]
ALSA backend: separate flags for is-running and should-be-running

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