Commit graph

14586 commits

Author SHA1 Message Date
David Robillard
8a128b33d3 Automation of LV2 plugin properties.
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-11-02 02:10:24 -05:00
David Robillard
6dfb11c2d0 Move ParameterDescriptor from Plugin to its own header.
This fixes circular dependency issues that arise when using ParameterDescriptor more widely.
2014-11-02 02:10:24 -05:00
David Robillard
bd6ba1717e Decouple ControlUI from port index. 2014-11-02 02:10:24 -05:00
David Robillard
0178f85b05 Don't complain about properties with plugins that do not support them. 2014-11-02 02:09:14 -05:00
Robin Gareus
b6d8805961 properly initialize variable (amend cffd18d2d8) 2014-11-02 02:50:28 +01:00
Robin Gareus
7baa3275e0 one off by one off - red-selection outline
This mitigates issues introduced with 3.5-3406-g90872c2
but is not a final solution. The x-axis is still broken.
see #5589 comment0015955
2014-11-01 21:05:43 +01:00
Robin Gareus
dbecf44416 NOOP, just whitespace/indenting 2014-11-01 18:24:47 +01:00
Robin Gareus
cffd18d2d8 implement spin-button internal<>interface bridge
Widgets were written to use "[User] Interface" values, but the
spinbutton in a Bar-controller should allow to directly access
the "Internal Value".
2014-11-01 18:24:31 +01:00
Robin Gareus
049c11de58 Slider Controller API Change
Prepare to allow BarController (with Spinbutton) to translate
internal/interface values for the SpinBox.

(The change is irrelevant for the fader/slider itself which
always use the [user-]interface value)
2014-11-01 18:22:29 +01:00
Robin Gareus
45b7a03b7b retain selection on track-height change 2014-11-01 16:54:52 +01:00
John Emmas
a1039ecd42 Add some newly introduced source files to our MSVC project (gtk2_ardour) 2014-11-01 13:54:39 +00:00
John Emmas
d948e4cc91 Add a newly introduced header file to our MSVC project (libardour) 2014-11-01 13:53:55 +00:00
Robin Gareus
660e8c4425 don't print error when announcing property values for plugins that have none 2014-11-01 07:27:36 +01:00
Robin Gareus
002ebcc4ea increase fine grained control (Ctrl+Alt+[drag|scroll]) 2014-11-01 07:27:35 +01:00
Robin Gareus
52f44dc4da convert interface <> internal values for all automation
fixes Send-Fader, Gain-Automation and various Plugin-Slider ranges
2014-11-01 07:27:35 +01:00
David Robillard
c855d17e09 Fix compilation against older LV2. 2014-10-31 21:03:12 -04:00
David Robillard
5de6c21ec1 More generic RT-safe implementation of LV2 properties. 2014-10-31 20:46:43 -04:00
David Robillard
324ab35abc Use precise define names for LV2 version configure checks. 2014-10-31 20:46:09 -04:00
David Robillard
0a60077a61 Fix spelling error. 2014-10-31 20:46:09 -04:00
David Robillard
db98083f20 Remove unused variable. 2014-10-31 20:46:09 -04:00
Robin Gareus
8d4cbc4cc1 fix Dummy DSP load on win32 & low-pass filter load
g_get_monotonic_time() has millisecond granularity,
use performance Counter if available
2014-10-31 22:51:47 +01:00
Robin Gareus
f02610b47c LV2 patch amends:
* fix Label (user readable key)
* check if patch range is a file Path
* free some lilv-nodes (plug small mem leak)
2014-10-31 19:42:28 +01:00
Paul Davis
cbb4be908a add new floating text entry class (ported from Tracks) 2014-10-31 12:26:57 -04:00
Paul Davis
90872c2b31 more changes for rectangle outlining 2014-10-31 10:56:08 -04:00
Paul Davis
a942493565 comment fix and expansion re: Canvas::Rectangle outline 2014-10-31 10:56:08 -04:00
Robin Gareus
f7ce57e5b2 plug memory leak 2014-10-31 06:02:32 +01:00
Robin Gareus
b8cea19b95 prototype [LV2]patch-change support for generic plugin UIs. 2014-10-31 03:26:47 +01:00
Robin Gareus
1648d9cbc6 fix "Session Setup" dialog obscures "File Open" dlg on windows. 2014-10-29 23:05:46 +01:00
John Emmas
973d40e3ac Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
Robin Gareus
da4365255c fix typo in 58fec98a
the documentation was correct: “GTK+ uses G_PRIORITY_HIGH_IDLE + 10
for resizing operations, and G_PRIORITY_HIGH_IDLE + 20 for redrawing
operations.”  but the priority for the idle visual changer was wrong.

fixes, follow-playhead and zoom/scrolling under load (no idle)
2014-10-29 18:31:13 +01:00
Robin Gareus
1d0612ceb6 redraw summary when theme preference changes & consolidate code. 2014-10-29 16:07:13 +01:00
Robin Gareus
fdedf7153e Kind of Blue 2014-10-29 12:06:20 +01:00
Robin Gareus
cca7ddf046 fix vertical canvas scrolling
* properly account for hidden tracks
 * allow to scroll to last track
2014-10-29 12:06:20 +01:00
Robin Gareus
300d765f17 fix summary display (offset on-canvas rulers) 2014-10-29 12:06:20 +01:00
Robin Gareus
ea26d70cad fix summary re-size
w/USE_CAIRO_IMAGE_SURFACE
2014-10-29 12:06:20 +01:00
Paul Davis
bb792c0e07 ugly hacks to make the peak display widget not act like a text entry widget. This should die. 2014-10-28 20:31:06 -04:00
Paul Davis
0abcce0735 Revert "change the peak display widget from Gtkmm2ext::FocusEntry to ArdourButton, since it is absolutely not editable."
This reverts commit 58f7d02bf2.

Conflicts:
	gtk2_ardour/default_ui_config.in
	gtk2_ardour/gain_meter.cc
2014-10-28 20:31:06 -04:00
Robin Gareus
4ed910748c don't show x-fade menu when right-clicking on frame handles
Fix crash with midi-regions (they have a frame-handle but no x-fade).
fixes 2nd part of #5992 (backtrace 20141021-B)

This is nicer in one way: When the cursor is "trim" the x-fade
context menu is no longer accessible.
And a bit worse: The x-fade context menu is only accessible on the
small fade-handles (boxes) and on the x-fade itself.
2014-10-28 16:43:45 +01:00
Robin Gareus
c0a28fca09 add win IRC channel 2014-10-28 02:40:04 +01:00
Robin Gareus
dc39448a22 turn pixfader into a cairowidget 2014-10-28 02:18:46 +01:00
Robin Gareus
b04414d170 allow to use cairo-image/software surface for canvas & cairowidgets 2014-10-28 02:15:10 +01:00
Robin Gareus
6dc3a4bf61 remove unused old API 2014-10-28 01:27:14 +01:00
Robin Gareus
8dc41bb700 fix potential crash at session close (when port-matrix is visible)
remove_aux_or_listen() -> PortMatrix::route_processors_changed()
-> setup_global_ports() -> PortGroupList::gather() -> crash
if some session ports were already removed.
2014-10-27 21:15:39 +01:00
Robin Gareus
ec92524fe9 file binary compat is for windows in general (not msvc)
Fixes crash with MIDI file save/load.
2014-10-26 03:10:53 +01:00
Robin Gareus
14ccde8c6e update GPL (formatting and update FSF address)
Verbatim copy of https://www.gnu.org/licenses/gpl-2.0.txt

Also remove the "How to apply" section below "End of Terms",
this allows to use this file 1:1 as License in Installer.
2014-10-26 02:24:35 +01:00
Robin Gareus
b23c29c204 fix gcc/C++11 2014-10-25 22:00:47 +02:00
Robin Gareus
baea04713f combine short periodic timeout functions for windows.
Fixes excessive CPU usage (spinlock instead of sleep/WaitForSingleObject)

MS Windows has a scheduler time-slice of 15ms.
Ardour has two fast timeout functions: The FPS timeout (20-60Hz, clock
video-monitor) and a fast-screen-update (25Hz, meters etc).
They are loosely coupled (async) and scheduled from the main application
thread (gtk main).

Since they're async, gtk schedules them as needed. Even though the actual
period of the separate timeouts is larger. The effective period between
all timeout callbacks is <15ms and the main application thread never idles.
2014-10-25 19:21:15 +02:00
Robin Gareus
e02efddb21 skip meter re-draw when no pixels are changed. 2014-10-25 17:28:14 +02:00
Robin Gareus
a6ceff61dd proper solution for variable-args jack_client_open() 2014-10-25 17:28:13 +02:00
John Emmas
9239a49a32 Add some newly introduced source files to our MSVC project (gtkmm2ext) 2014-10-24 18:45:53 +01:00