Robin Gareus [Tue, 2 Sep 2014 16:12:39 +0000 (18:12 +0200)]
static global definition for track-header width
the track-header minimum width is defined by
the name-label (IFF the 2nd row fader is not visible,
but the fader is rather small by default and and grows)
track-header width in almost all cases is:
name-label width
+ width of three button (1 char each)
+ max size of all meters (if visible)
+ width of MIDI scroomer (if visible)
+ 2px table cellspacing (per column)
Robin Gareus [Tue, 2 Sep 2014 14:17:42 +0000 (16:17 +0200)]
get rid of a compiler warning
Robin Gareus [Tue, 2 Sep 2014 14:17:20 +0000 (16:17 +0200)]
dramatically speed up track-number show/hide toggle
Robin Gareus [Tue, 2 Sep 2014 14:16:36 +0000 (16:16 +0200)]
add a special bool option that prevents redrawing
Robin Gareus [Tue, 2 Sep 2014 14:05:54 +0000 (16:05 +0200)]
don't show 'unity-line' (default value) for barcontrollers
Robin Gareus [Tue, 2 Sep 2014 14:05:21 +0000 (16:05 +0200)]
Barcontroller: no double expose when text chages
Robin Gareus [Tue, 2 Sep 2014 14:00:24 +0000 (16:00 +0200)]
tweak pixfader:
* update reserve so that round corners don't overlap
* draw complete 1px outline
* add API to hide/show the unity line
* don't show unity line at either end
* allow to shrink when the font-scaling changes
Robin Gareus [Tue, 2 Sep 2014 03:08:13 +0000 (05:08 +0200)]
fix static initialization of Gtk::SizeGroup
Robin Gareus [Tue, 2 Sep 2014 03:07:41 +0000 (05:07 +0200)]
add style for BarController SpinButton
Robin Gareus [Tue, 2 Sep 2014 03:09:51 +0000 (05:09 +0200)]
unify BarController with Slider/Pixfader.
Robin Gareus [Tue, 2 Sep 2014 02:46:34 +0000 (04:46 +0200)]
clean up pixfader API, prepare for merge w/BarController
Robin Gareus [Tue, 2 Sep 2014 03:14:06 +0000 (05:14 +0200)]
remove cruft from SliderController
Robin Gareus [Tue, 2 Sep 2014 00:53:05 +0000 (02:53 +0200)]
prepare Slider API cleanup
Robin Gareus [Mon, 1 Sep 2014 20:06:45 +0000 (22:06 +0200)]
Engine Dialog: focus OK button (press enter to cont w/previous settings)
Robin Gareus [Mon, 1 Sep 2014 20:02:51 +0000 (22:02 +0200)]
rework pixfader:
* re-introduce static pattern cache
(cairo's cache is not nearly large enough for A3 + plugins)
* only use cairo_clip on rectangles (not arbitrary paths
-> major performance boost
* re-add fader pixel reserve
* fix mouse + scroll interaction
* fix unity line display (1px wider, brighten by 150%)
* cache text size
* fix various other issues and consistent whitespace
This reverts large parts of commit
d439e93b1e71e84452bf52ddc69ff0be6aa04ef5.
Robin Gareus [Mon, 1 Sep 2014 16:05:09 +0000 (18:05 +0200)]
Match canvas outline to rectangle
It looks like we're currently [consistently] off by 1px
everywhere. The width-1 is compensated by
TimeAxisViewItem::RIGHT_EDGE_SHIFT = 1
David Robillard [Sun, 31 Aug 2014 22:52:37 +0000 (18:52 -0400)]
Fix crash when changing automation mode for MIDI track control automation.
Also some work towards tolerating automation controls with no automation list,
towards actually doing something for these cases, though not required just to
fix this crash (MidiTrack::set_parameter_automation_state() avoids those
paths).
Robin Gareus [Sun, 31 Aug 2014 22:00:01 +0000 (00:00 +0200)]
retain track-header width regardless of number-label.
David Robillard [Sun, 31 Aug 2014 21:52:09 +0000 (17:52 -0400)]
Bring back control slider on MIDI controller "tracks".
David Robillard [Sun, 31 Aug 2014 21:45:20 +0000 (17:45 -0400)]
Remove unused variables (fix warnings).
David Robillard [Sun, 31 Aug 2014 21:44:42 +0000 (17:44 -0400)]
Fix mismatched initialisation order.
Robin Gareus [Sun, 31 Aug 2014 21:38:25 +0000 (23:38 +0200)]
the story of 0
Robin Gareus [Sun, 31 Aug 2014 21:36:38 +0000 (23:36 +0200)]
rework track inset (amend
7d7b787 and
bf13bf63):
Only inset red-selection rectangle (top & bottom).
Do not draw duplicate borders (waste pixels) for regular regions.
Robin Gareus [Sun, 31 Aug 2014 20:54:43 +0000 (22:54 +0200)]
update track-header width when removing track(s).
Robin Gareus [Sun, 31 Aug 2014 20:24:44 +0000 (22:24 +0200)]
inset regions into track (don't share edges)
Robin Gareus [Sun, 31 Aug 2014 20:24:26 +0000 (22:24 +0200)]
fix track-header hide/show
Robin Gareus [Sun, 31 Aug 2014 19:32:22 +0000 (21:32 +0200)]
track-header fader tweaks:
* align height to button-height.
* align width to label text-entry
* increase min width
Robin Gareus [Sun, 31 Aug 2014 18:08:38 +0000 (20:08 +0200)]
proper 1px track separator
Robin Gareus [Sun, 31 Aug 2014 18:07:17 +0000 (20:07 +0200)]
shadow-less Frame: explicitly draw background colored border.
Robin Gareus [Sun, 31 Aug 2014 17:43:32 +0000 (19:43 +0200)]
the return of the time_axis_vbox
Robin Gareus [Sun, 31 Aug 2014 17:36:41 +0000 (19:36 +0200)]
remove frame from barcontroller
Robin Gareus [Sun, 31 Aug 2014 16:51:04 +0000 (18:51 +0200)]
set initial TAV style
Robin Gareus [Sun, 31 Aug 2014 14:46:11 +0000 (16:46 +0200)]
update track-header width when changing show-track-meters
Robin Gareus [Sun, 31 Aug 2014 14:15:52 +0000 (16:15 +0200)]
move midi scroomer to right of meter and fix alignment
Robin Gareus [Sun, 31 Aug 2014 14:12:43 +0000 (16:12 +0200)]
right side track-header control buttons (for non mixbus profile)
Robin Gareus [Sun, 31 Aug 2014 10:46:45 +0000 (12:46 +0200)]
proper round corners on focused TextEntry
IFF [xy]thickness is set > 2 for given Entry.
It seems gtk draws a base-color rectangle on
top, after clearlooks_draw_entry() is called.
This fills the complete area and voids previous
rounded rectangles in clearlooks_draw_entry().
setting [xy]thickness decreases the size of the
base rectangle.
Robin Gareus [Sun, 31 Aug 2014 10:08:39 +0000 (12:08 +0200)]
proper round corners for peak&gain display
Robin Gareus [Sun, 31 Aug 2014 06:08:36 +0000 (08:08 +0200)]
experiment with track-selection box shadow
Robin Gareus [Sun, 31 Aug 2014 05:54:59 +0000 (07:54 +0200)]
fix [potential] double clock connection:
ARDOUR_UI::set_session() starts clocking for a given session.
make sure ARDOUR_UI::parameter_changed() does not connect
before the session is active.
Robin Gareus [Sun, 31 Aug 2014 05:50:17 +0000 (07:50 +0200)]
prepare for clang static analysis of RT-functions:
see: https://github.com/fundamental/stoat
eventually more functions should be annotated, and
a common header file should be used to
#define REALTIME __attribute__((annotate("realtime")))
Robin Gareus [Sun, 31 Aug 2014 05:43:21 +0000 (07:43 +0200)]
distinguish global peak-reset button from meters:
With > 2 channels, the editor toolbar meters are
otherwise very similar to the reset-button.
Robin Gareus [Sun, 31 Aug 2014 05:12:41 +0000 (07:12 +0200)]
new min. height for midi controls
Robin Gareus [Sun, 31 Aug 2014 05:12:21 +0000 (07:12 +0200)]
update track-header width when track-number visibility is toggled
Robin Gareus [Sun, 31 Aug 2014 05:12:00 +0000 (07:12 +0200)]
remove (unused) separator, update TAV height calc.
Robin Gareus [Sun, 31 Aug 2014 05:11:24 +0000 (07:11 +0200)]
simplify time-axis packing: consistent table layout
Robin Gareus [Sat, 30 Aug 2014 18:55:18 +0000 (20:55 +0200)]
revert parts of
bf13bf63, change track-header color on selection
Robin Gareus [Sat, 30 Aug 2014 18:56:31 +0000 (20:56 +0200)]
NOOP, re-indent, fix whitespace
Robin Gareus [Sat, 30 Aug 2014 18:58:03 +0000 (20:58 +0200)]
disconnect pixfader style-change signal in dtor (amend
5a688b672)
Robin Gareus [Sat, 30 Aug 2014 18:48:37 +0000 (20:48 +0200)]
update clocks and video-frames at FPS
Robin Gareus [Sat, 30 Aug 2014 18:57:22 +0000 (20:57 +0200)]
add an idle callback at FPS
Robin Gareus [Sat, 30 Aug 2014 18:17:34 +0000 (20:17 +0200)]
redraw clock(s) only when needed.
Robin Gareus [Sat, 30 Aug 2014 18:11:07 +0000 (20:11 +0200)]
video-pullup and timecode-format are session options
Robin Gareus [Sat, 30 Aug 2014 16:26:03 +0000 (18:26 +0200)]
update dropdown triangle
Robin Gareus [Sat, 30 Aug 2014 02:17:10 +0000 (04:17 +0200)]
fader+meter: update numeric display bg on style change
Robin Gareus [Sat, 30 Aug 2014 02:16:18 +0000 (04:16 +0200)]
pixfader: use parent's background color
Robin Gareus [Sat, 30 Aug 2014 00:26:36 +0000 (02:26 +0200)]
fix some compiler warnings
Robin Gareus [Fri, 29 Aug 2014 23:42:37 +0000 (01:42 +0200)]
fix cairo widget background
Robin Gareus [Fri, 29 Aug 2014 23:40:16 +0000 (01:40 +0200)]
remove cruft
Robin Gareus [Fri, 29 Aug 2014 22:43:24 +0000 (00:43 +0200)]
ArdourButton align text to full pixels
Ben Loftis [Fri, 29 Aug 2014 22:16:32 +0000 (17:16 -0500)]
red-border selection for tracks, regions, and processors. requesting comments
Ben Loftis [Thu, 28 Aug 2014 21:42:02 +0000 (16:42 -0500)]
try a different method of text display on automation bars
Robin Gareus [Fri, 29 Aug 2014 21:02:35 +0000 (23:02 +0200)]
Ardour button, proper cairo fill+stroke px alignments
rounded rectangles are cairo_arc() path,
for line strokes, offset by .5.
This patch also includes two small related style tweaks:
* Gtkmm2ext::Selected line color & thickness
* 'grabbed' line color & thickness
Robin Gareus [Fri, 29 Aug 2014 19:10:20 +0000 (21:10 +0200)]
mark "Label Buttons" as inactive
Robin Gareus [Fri, 29 Aug 2014 19:08:49 +0000 (21:08 +0200)]
explicit Button inactive state.
Ideally large parts of ArdourButton would become ArdourLabel,
which in turn is used by ArdourButton
Robin Gareus [Fri, 29 Aug 2014 18:20:37 +0000 (20:20 +0200)]
ArdourButton: suppress visible response if no action is defined.
This fixes issues where the button is used as Label
(currently track-numbers and meterbridge track-name)
Robin Gareus [Fri, 29 Aug 2014 17:55:25 +0000 (19:55 +0200)]
amend
7be3c88a, update rec-en color
Robin Gareus [Thu, 28 Aug 2014 23:13:49 +0000 (01:13 +0200)]
experiment with unicode circle for rec-en
fixes button-area width mismatch on track-headers
except for tape-tracks (which till use old fixed size icon)
Robin Gareus [Thu, 28 Aug 2014 20:36:53 +0000 (22:36 +0200)]
use 2 digit width as minium for track number labels
Ben Loftis [Thu, 28 Aug 2014 20:33:58 +0000 (15:33 -0500)]
processor toggle controls should be blue when activated
Ben Loftis [Thu, 28 Aug 2014 20:24:16 +0000 (15:24 -0500)]
yet another ArdourButton action tweak
Ben Loftis [Thu, 28 Aug 2014 19:55:39 +0000 (14:55 -0500)]
fix plugin bypass button action
Robin Gareus [Thu, 28 Aug 2014 19:39:39 +0000 (21:39 +0200)]
video-timeline tools path updates for OSX and Windows
Ben Loftis [Thu, 28 Aug 2014 19:29:49 +0000 (14:29 -0500)]
remove offset from icons when button is pushed
Ben Loftis [Thu, 28 Aug 2014 19:25:19 +0000 (14:25 -0500)]
More fixes to ArdourButton actions.
Optionally allow events to fallthrough to parents, in particular for the DnDVBox case.
Also allow the number_label to operate as a track selector.
Ben Loftis [Wed, 27 Aug 2014 19:41:49 +0000 (14:41 -0500)]
add option to blink rec-enables
Ben Loftis [Thu, 28 Aug 2014 15:31:57 +0000 (10:31 -0500)]
Fix ArdourButton event sequence.
Always give ArdourButton a chance to handle Press or Release events if you override them.
This allows ArdourButtons to do the "Pressed" animation
And it now correctly eats the event so button clicks don't select the channelstrip.
Ben Loftis [Thu, 28 Aug 2014 13:58:26 +0000 (08:58 -0500)]
brighten post-fader redirects, and change redirect leds to blue
Ben Loftis [Thu, 28 Aug 2014 13:19:49 +0000 (08:19 -0500)]
replace missing fader redirect color
John Emmas [Thu, 28 Aug 2014 07:08:43 +0000 (08:08 +0100)]
Add an extra folder to get searched (on Windows only) when looking for config files.
This is a preliminary test to find out if 'All Users' would be a better place for our (writable) config files, as opposed to the user's personal 'AppData' folder (which we used in Mixbus2). N.B. this should not effect any previous operations on Windows or non-Windows platforms.
John Emmas [Thu, 28 Aug 2014 06:55:46 +0000 (07:55 +0100)]
Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
Ben Loftis [Wed, 27 Aug 2014 19:02:00 +0000 (14:02 -0500)]
move preferences->GUI->Metering into its own tab
Ben Loftis [Wed, 27 Aug 2014 16:58:09 +0000 (11:58 -0500)]
Standardize drawing of PixFader and BarController; implement flat_buttons and prelight.
Prepare for using Controllable interfaces, instead of passing in Adjustments.
ToDo: reimplement image caching in a standardized way across widgets
Ben Loftis [Wed, 27 Aug 2014 16:56:06 +0000 (11:56 -0500)]
even more flat_buttons
Ben Loftis [Wed, 27 Aug 2014 16:55:32 +0000 (11:55 -0500)]
more flat_button refactoring. try centering the gain and peak displays
Ben Loftis [Wed, 27 Aug 2014 16:53:53 +0000 (11:53 -0500)]
use ArdourButtons on the automation time axis
Ben Loftis [Wed, 27 Aug 2014 16:53:30 +0000 (11:53 -0500)]
more flat_button refactoring
Ben Loftis [Wed, 27 Aug 2014 15:55:01 +0000 (10:55 -0500)]
refactor flat_buttons into cairowidget, and add a canvas-like convenience function for setting cairo color with a Gtk::Color
Ben Loftis [Wed, 27 Aug 2014 15:49:36 +0000 (10:49 -0500)]
fix pushed-in state of invert buttons, and fix an initizlization order warning
Ben Loftis [Fri, 22 Aug 2014 16:45:34 +0000 (11:45 -0500)]
Rationalize ArdourButton and lots of associated theming issues.
ArdourButtons now have a "pushed" animation.
The gradient is now implemented in the button, rather than providing 2 colors in the theme, which was burdensome.
Lots of code cleanup in ArdourButton. Removed several unnecessary flags.
Refactor more stuff into route_ui.
Ben Loftis [Thu, 21 Aug 2014 16:13:23 +0000 (11:13 -0500)]
refactor _grabbed into cairo_widget
Robin Gareus [Thu, 14 Aug 2014 15:48:11 +0000 (17:48 +0200)]
Merge branch 'selection_fixes' of https://github.com/nmains/ardour into cairocanvas
nick_m [Thu, 14 Aug 2014 15:42:48 +0000 (01:42 +1000)]
Fix crash on snapshot change.
Robin Gareus [Wed, 13 Aug 2014 17:39:01 +0000 (19:39 +0200)]
Merge branch 'selection_fixes' of https://github.com/nmains/ardour into cairocanvas
nick_m [Wed, 13 Aug 2014 17:19:40 +0000 (03:19 +1000)]
Add backwards compatibility for instant.xml changes.
nick_m [Wed, 13 Aug 2014 16:52:42 +0000 (02:52 +1000)]
Move ExportProfile xml from Session instant.xml to session file.
Ben Loftis [Wed, 13 Aug 2014 16:00:04 +0000 (11:00 -0500)]
remove cruft related to button-height commit
Ben Loftis [Wed, 13 Aug 2014 15:56:00 +0000 (10:56 -0500)]
Yet another attempt to standardize button heights.
Use the same string for all ArdourButtons to define the height.
Height can still vary if you use a different font, though.
Ben Loftis [Tue, 12 Aug 2014 19:40:43 +0000 (14:40 -0500)]
Clicking already-selected region should clear other selections. Thanks to nick_m
Ben Loftis [Mon, 11 Aug 2014 20:08:57 +0000 (15:08 -0500)]
change packing so number_label shares space with name_label
Ben Loftis [Mon, 11 Aug 2014 19:44:12 +0000 (14:44 -0500)]
shuffle packing order to accomodate midi controls