Commit graph

6994 commits

Author SHA1 Message Date
Tim Mayberry
9e5f082dea Include stdint.h for int64_t type 2014-08-17 14:53:47 -04:00
Tim Mayberry
c46e55060a Fix timecode target so it is just libtimecode.so and not liblibtimecode.so 2014-08-17 14:53:42 -04:00
Paul Davis
07cfa9e163 When rendering a Canvas::Rectangle take its _position into account, even though in general this is always (0,0) within its parent 2014-08-17 14:50:37 -04:00
Robin Gareus
96c06b3fc0 alsa + dummy backend, proper [re]initialization 2014-08-17 14:50:31 -04:00
Robin Gareus
46f0e7dead properly setup port system latency for Dummy & ALSA backend 2014-08-17 14:50:20 -04:00
Paul Davis
874ac355e7 clip rendering of ScrollGroup to just the part of the canvas covered by the scroll group.
This stops tracks from appearing to scroll up under the rulers, among other things.
2014-08-17 14:50:12 -04:00
Paul Davis
bbf037c4a3 fix problems with expose/redraws from canvas where requested area goes way outside the integer range allowed by GTK/GDK 2014-08-17 14:49:34 -04:00
Robin Gareus
54ab147ac2 pass ardour's pid to the device reservation script.
terminate a-r-d when ardour crashes or exits unexpectedly.
2014-08-17 14:46:28 -04:00
Paul Davis
df24b1ab8d remove debugging output 2014-08-17 14:44:31 -04:00
Paul Davis
c926ca2b6b basic, initial structure for canvas widget item 2014-08-17 14:44:25 -04:00
Paul Davis
0497c64da3 allow public access to CairoWidget::render() 2014-08-17 14:44:20 -04:00
Paul Davis
269567532e fix up various waves widgets after the CairoWidget::render() API change 2014-08-17 14:40:16 -04:00
Robin Gareus
6da331394b change the meters into CairoWidget, add expose_area to CairoWidget::render()
Conflicts:
	libs/gtkmm2ext/cairo_widget.cc
	libs/gtkmm2ext/fastmeter.cc
	libs/gtkmm2ext/gtkmm2ext/cairo_widget.h
	libs/gtkmm2ext/gtkmm2ext/fastmeter.h
2014-08-17 14:28:10 -04:00
Robin Gareus
6b34125de4 make alsa/ardour dbus-device request tool generally useful. 2014-08-17 13:48:01 -04:00
Robin Gareus
edcd5c52bc ALSA backend: require both in+output. 2014-08-17 13:47:58 -04:00
Robin Gareus
bc6c4285f2 mark dbus reservation tool optional 2014-08-17 13:47:46 -04:00
Robin Gareus
0913f33183 DBus ALSA device reservation 2014-08-17 13:47:30 -04:00
Robin Gareus
313f597478 proper dbus device reservation 2014-08-17 13:47:24 -04:00
Robin Gareus
feb1a9e269 break out ALSA related functions into libardouralsautil 2014-08-17 13:47:14 -04:00
Robin Gareus
ed7c8de1a9 ALSA: tentative hack to request audio-device. 2014-08-17 13:47:09 -04:00
Robin Gareus
3ec8621f1e ALSA backend: engine.halted_callback if the process thread dies 2014-08-17 13:47:02 -04:00
Robin Gareus
1300bcb210 if the user chooses to stop the jack-backend, mark it as stopped. Don't display the "..was shutdown .. was not fast enough.." message. 2014-08-17 13:46:54 -04:00
Robin Gareus
663fc9092d 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.

Conflicts:
	libs/ardour/audioengine.cc
2014-08-17 13:46:47 -04:00
John Emmas
83d0b6cd7a Add newly introduced sources to MSVC project
(scroll_group stuff)
2014-08-17 13:46:21 -04:00
Robin Gareus
59309d2bb1 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 a771dea203.
2014-08-17 13:46:16 -04:00
Robin Gareus
87ca02d7ad Revert "Revert "ALSA backend: separate flags for is-running and should-be-running""
sorry, c/p error
This reverts commit 9658b77327.
2014-08-17 13:46:09 -04:00
Robin Gareus
a79273f681 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 6d89488d64.
2014-08-17 13:46:02 -04:00
Robin Gareus
870d17399e ALSA backend: separate flags for is-running and should-be-running 2014-08-17 13:45:56 -04:00
Robin Gareus
630565aad6 add API to query a processor's frozen state. 2014-08-17 13:45:52 -04:00
Robin Gareus
9ce847c843 re-work bounce/freeze. Freezer stops at first active delivery.
amend to 8f52bf7d9f
2014-08-17 13:45:42 -04:00
Robin Gareus
c65e827969 ALSABackend: elaborate on start-up error cases 2014-08-17 13:45:34 -04:00
Paul Davis
88c511f2d1 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 5626ea2b1f.
2014-08-17 13:45:19 -04:00
Paul Davis
0fb82b76e4 fix two mysterious problems with stdint types 2014-08-17 13:45:14 -04:00
Paul Davis
fdbb93ea3c merge onecanvas and cairocanvas branches, and manually resolve conflicts, including rounding in item_to_window() methods 2014-08-17 13:44:57 -04:00
Paul Davis
e8e3460665 more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
Conflicts:
	gtk2_ardour/editor_mouse.cc
2014-08-17 13:43:52 -04:00
Paul Davis
0bfbb030fa fix missing leftover Canvas::pick_current_item() which was confusing button release event coordinates 2014-08-17 13:39:19 -04:00
Paul Davis
f60e579653 use window-based coordinates when picking current item so that we get per-item (per-scroll-group,really) computation of position and coverage. 2014-08-17 13:39:15 -04:00
Paul Davis
bed0c78432 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.
2014-08-17 13:39:10 -04:00
Paul Davis
7bbd63dc39 clean up ArdourCanvas::Arrow implementation to remove unshown polygon/head 2014-08-17 13:39:02 -04:00
Paul Davis
d408fffe4e rationalize and centralize computation of positional offset and scroll offset for canvas items 2014-08-17 13:38:45 -04:00
Paul Davis
2b361eecec inline ScrollGroup::canvas_position() for no particular reason 2014-08-17 13:38:35 -04:00
Paul Davis
11e789df5b avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups 2014-08-17 13:37:45 -04:00
Paul Davis
cb9453b475 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.
2014-08-17 13:37:27 -04:00
Paul Davis
87fa554ac9 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
2014-08-17 13:37:16 -04:00
Paul Davis
6d3b9fe7e6 overwrite state of libs/canvas with code from corresponding period in ardour-cairocanvas
This makes continued merges with ardour codebase easier, at the
small cost of removing the XML-based constructors. They were not
in use anyway and their use doesn't really fit into the
conception of the canvas as a dynamic UI element. Could reintroduce
them at a later date.
2014-08-17 13:29:01 -04:00
John Emmas
1d945f26be When writing '.jackdrc' make sure we enclose any device names in quotation marks
(in Windows, device names almost always contain whitespace)
2014-08-16 21:48:07 -04:00
John Emmas
68a34d0d6f Keep this #include consistent with similar ones
(evoral/evoral doesn't get used anywhere else)
2014-08-16 21:48:01 -04:00
Robin Gareus
55c4c3d819 ALSA backend: tweak midi parser (fix start mid sequence) 2014-08-16 21:47:48 -04:00
Robin Gareus
151a410a13 ALSA backend: device detection 2014-08-16 21:47:40 -04:00
Robin Gareus
a5e1cbda85 ALSA backend: add raw midi parser 2014-08-16 21:44:58 -04:00