ardour.git
9 years agonumber-label: use pixel-width for given font
Robin Gareus [Tue, 2 Sep 2014 17:27:40 +0000 (19:27 +0200)]
number-label: use pixel-width for given font

9 years agoArdourButton: prepare for [em] based padding
Robin Gareus [Tue, 2 Sep 2014 17:23:18 +0000 (19:23 +0200)]
ArdourButton: prepare for [em] based padding

9 years agostatic global definition for track-header width
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)

9 years agoget rid of a compiler warning
Robin Gareus [Tue, 2 Sep 2014 14:17:42 +0000 (16:17 +0200)]
get rid of a compiler warning

9 years agodramatically speed up track-number show/hide toggle
Robin Gareus [Tue, 2 Sep 2014 14:17:20 +0000 (16:17 +0200)]
dramatically speed up track-number show/hide toggle

9 years agoadd a special bool option that prevents redrawing
Robin Gareus [Tue, 2 Sep 2014 14:16:36 +0000 (16:16 +0200)]
add a special bool option that prevents redrawing

9 years agodon't show 'unity-line' (default value) for barcontrollers
Robin Gareus [Tue, 2 Sep 2014 14:05:54 +0000 (16:05 +0200)]
don't show 'unity-line' (default value) for barcontrollers

9 years agoBarcontroller: no double expose when text chages
Robin Gareus [Tue, 2 Sep 2014 14:05:21 +0000 (16:05 +0200)]
Barcontroller: no double expose when text chages

9 years agotweak pixfader:
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

9 years agofix static initialization of Gtk::SizeGroup
Robin Gareus [Tue, 2 Sep 2014 03:08:13 +0000 (05:08 +0200)]
fix static initialization of Gtk::SizeGroup

9 years agoadd style for BarController SpinButton
Robin Gareus [Tue, 2 Sep 2014 03:07:41 +0000 (05:07 +0200)]
add style for BarController SpinButton

9 years agounify BarController with Slider/Pixfader.
Robin Gareus [Tue, 2 Sep 2014 03:09:51 +0000 (05:09 +0200)]
unify BarController with Slider/Pixfader.

9 years agoclean up pixfader API, prepare for merge w/BarController
Robin Gareus [Tue, 2 Sep 2014 02:46:34 +0000 (04:46 +0200)]
clean up pixfader API, prepare for merge w/BarController

9 years agoremove cruft from SliderController
Robin Gareus [Tue, 2 Sep 2014 03:14:06 +0000 (05:14 +0200)]
remove cruft from SliderController

9 years agoprepare Slider API cleanup
Robin Gareus [Tue, 2 Sep 2014 00:53:05 +0000 (02:53 +0200)]
prepare Slider API cleanup

9 years agoEngine Dialog: focus OK button (press enter to cont w/previous settings)
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)

9 years agorework pixfader:
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.

9 years agoMatch canvas outline to rectangle
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

9 years agoFix crash when changing automation mode for MIDI track control automation.
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).

9 years agoretain track-header width regardless of number-label.
Robin Gareus [Sun, 31 Aug 2014 22:00:01 +0000 (00:00 +0200)]
retain track-header width regardless of number-label.

9 years agoBring back control slider on MIDI controller "tracks".
David Robillard [Sun, 31 Aug 2014 21:52:09 +0000 (17:52 -0400)]
Bring back control slider on MIDI controller "tracks".

9 years agoRemove unused variables (fix warnings).
David Robillard [Sun, 31 Aug 2014 21:45:20 +0000 (17:45 -0400)]
Remove unused variables (fix warnings).

9 years agoFix mismatched initialisation order.
David Robillard [Sun, 31 Aug 2014 21:44:42 +0000 (17:44 -0400)]
Fix mismatched initialisation order.

9 years agothe story of 0
Robin Gareus [Sun, 31 Aug 2014 21:38:25 +0000 (23:38 +0200)]
the story of 0

9 years agorework track inset (amend 7d7b787 and bf13bf63):
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.

9 years agoupdate track-header width when removing track(s).
Robin Gareus [Sun, 31 Aug 2014 20:54:43 +0000 (22:54 +0200)]
update track-header width when removing track(s).

9 years agoinset regions into track (don't share edges)
Robin Gareus [Sun, 31 Aug 2014 20:24:44 +0000 (22:24 +0200)]
inset regions into track (don't share edges)

9 years agofix track-header hide/show
Robin Gareus [Sun, 31 Aug 2014 20:24:26 +0000 (22:24 +0200)]
fix track-header hide/show

9 years agotrack-header fader tweaks:
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

9 years agoproper 1px track separator
Robin Gareus [Sun, 31 Aug 2014 18:08:38 +0000 (20:08 +0200)]
proper 1px track separator

9 years agoshadow-less Frame: explicitly draw background colored border.
Robin Gareus [Sun, 31 Aug 2014 18:07:17 +0000 (20:07 +0200)]
shadow-less Frame: explicitly draw background colored border.

9 years agothe return of the time_axis_vbox
Robin Gareus [Sun, 31 Aug 2014 17:43:32 +0000 (19:43 +0200)]
the return of the time_axis_vbox

9 years agoremove frame from barcontroller
Robin Gareus [Sun, 31 Aug 2014 17:36:41 +0000 (19:36 +0200)]
remove frame from barcontroller

9 years agoset initial TAV style
Robin Gareus [Sun, 31 Aug 2014 16:51:04 +0000 (18:51 +0200)]
set initial TAV style

9 years agoupdate track-header width when changing show-track-meters
Robin Gareus [Sun, 31 Aug 2014 14:46:11 +0000 (16:46 +0200)]
update track-header width when changing show-track-meters

9 years agomove midi scroomer to right of meter and fix alignment
Robin Gareus [Sun, 31 Aug 2014 14:15:52 +0000 (16:15 +0200)]
move midi scroomer to right of meter and fix alignment

9 years agoright side track-header control buttons (for non mixbus profile)
Robin Gareus [Sun, 31 Aug 2014 14:12:43 +0000 (16:12 +0200)]
right side track-header control buttons (for non mixbus profile)

9 years agoproper round corners on focused TextEntry
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.

9 years agoproper round corners for peak&gain display
Robin Gareus [Sun, 31 Aug 2014 10:08:39 +0000 (12:08 +0200)]
proper round corners for peak&gain display

9 years agoexperiment with track-selection box shadow
Robin Gareus [Sun, 31 Aug 2014 06:08:36 +0000 (08:08 +0200)]
experiment with track-selection box shadow

9 years agofix [potential] double clock connection:
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.

9 years agoprepare for clang static analysis of RT-functions:
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")))

9 years agodistinguish global peak-reset button from meters:
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.

9 years agonew min. height for midi controls
Robin Gareus [Sun, 31 Aug 2014 05:12:41 +0000 (07:12 +0200)]
new min. height for midi controls

9 years agoupdate track-header width when track-number visibility is toggled
Robin Gareus [Sun, 31 Aug 2014 05:12:21 +0000 (07:12 +0200)]
update track-header width when track-number visibility is toggled

9 years agoremove (unused) separator, update TAV height calc.
Robin Gareus [Sun, 31 Aug 2014 05:12:00 +0000 (07:12 +0200)]
remove (unused) separator, update TAV height calc.

9 years agosimplify time-axis packing: consistent table layout
Robin Gareus [Sun, 31 Aug 2014 05:11:24 +0000 (07:11 +0200)]
simplify time-axis packing: consistent table layout

9 years agorevert parts of bf13bf63, change track-header color on selection
Robin Gareus [Sat, 30 Aug 2014 18:55:18 +0000 (20:55 +0200)]
revert parts of bf13bf63, change track-header color on selection

9 years agoNOOP, re-indent, fix whitespace
Robin Gareus [Sat, 30 Aug 2014 18:56:31 +0000 (20:56 +0200)]
NOOP, re-indent, fix whitespace

9 years agodisconnect pixfader style-change signal in dtor (amend 5a688b672)
Robin Gareus [Sat, 30 Aug 2014 18:58:03 +0000 (20:58 +0200)]
disconnect pixfader style-change signal in dtor (amend 5a688b672)

9 years agoupdate clocks and video-frames at FPS
Robin Gareus [Sat, 30 Aug 2014 18:48:37 +0000 (20:48 +0200)]
update clocks and video-frames at FPS

9 years agoadd an idle callback at FPS
Robin Gareus [Sat, 30 Aug 2014 18:57:22 +0000 (20:57 +0200)]
add an idle callback at FPS

9 years agoredraw clock(s) only when needed.
Robin Gareus [Sat, 30 Aug 2014 18:17:34 +0000 (20:17 +0200)]
redraw clock(s) only when needed.

9 years agovideo-pullup and timecode-format are session options
Robin Gareus [Sat, 30 Aug 2014 18:11:07 +0000 (20:11 +0200)]
video-pullup and timecode-format are session options

9 years agoupdate dropdown triangle
Robin Gareus [Sat, 30 Aug 2014 16:26:03 +0000 (18:26 +0200)]
update dropdown triangle

9 years agofader+meter: update numeric display bg on style change
Robin Gareus [Sat, 30 Aug 2014 02:17:10 +0000 (04:17 +0200)]
fader+meter: update numeric display bg on style change

9 years agopixfader: use parent's background color
Robin Gareus [Sat, 30 Aug 2014 02:16:18 +0000 (04:16 +0200)]
pixfader: use parent's background color

9 years agofix some compiler warnings
Robin Gareus [Sat, 30 Aug 2014 00:26:36 +0000 (02:26 +0200)]
fix some compiler warnings

9 years agofix cairo widget background
Robin Gareus [Fri, 29 Aug 2014 23:42:37 +0000 (01:42 +0200)]
fix cairo widget background

9 years agoremove cruft
Robin Gareus [Fri, 29 Aug 2014 23:40:16 +0000 (01:40 +0200)]
remove cruft

9 years agoArdourButton align text to full pixels
Robin Gareus [Fri, 29 Aug 2014 22:43:24 +0000 (00:43 +0200)]
ArdourButton align text to full pixels

9 years agored-border selection for tracks, regions, and processors. requesting comments
Ben Loftis [Fri, 29 Aug 2014 22:16:32 +0000 (17:16 -0500)]
red-border selection for tracks, regions, and processors. requesting comments

9 years agotry a different method of text display on automation bars
Ben Loftis [Thu, 28 Aug 2014 21:42:02 +0000 (16:42 -0500)]
try a different method of text display on automation bars

9 years agoArdour button, proper cairo fill+stroke px alignments
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

9 years agomark "Label Buttons" as inactive
Robin Gareus [Fri, 29 Aug 2014 19:10:20 +0000 (21:10 +0200)]
mark "Label Buttons" as inactive

9 years agoexplicit Button inactive state.
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

9 years agoArdourButton: suppress visible response if no action is defined.
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)

9 years agoamend 7be3c88a, update rec-en color
Robin Gareus [Fri, 29 Aug 2014 17:55:25 +0000 (19:55 +0200)]
amend 7be3c88a, update rec-en color

9 years agoexperiment with unicode circle for rec-en
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)

9 years agouse 2 digit width as minium for track number labels
Robin Gareus [Thu, 28 Aug 2014 20:36:53 +0000 (22:36 +0200)]
use 2 digit width as minium for track number labels

9 years agoprocessor toggle controls should be blue when activated
Ben Loftis [Thu, 28 Aug 2014 20:33:58 +0000 (15:33 -0500)]
processor toggle controls should be blue when activated

9 years agoyet another ArdourButton action tweak
Ben Loftis [Thu, 28 Aug 2014 20:24:16 +0000 (15:24 -0500)]
yet another ArdourButton action tweak

9 years agofix plugin bypass button action
Ben Loftis [Thu, 28 Aug 2014 19:55:39 +0000 (14:55 -0500)]
fix plugin bypass button action

9 years agovideo-timeline tools path updates for OSX and Windows
Robin Gareus [Thu, 28 Aug 2014 19:39:39 +0000 (21:39 +0200)]
video-timeline tools path updates for OSX and Windows

9 years agoremove offset from icons when button is pushed
Ben Loftis [Thu, 28 Aug 2014 19:29:49 +0000 (14:29 -0500)]
remove offset from icons when button is pushed

9 years agoMore fixes to ArdourButton actions.
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.

9 years agoadd option to blink rec-enables
Ben Loftis [Wed, 27 Aug 2014 19:41:49 +0000 (14:41 -0500)]
add option to blink rec-enables

9 years agoFix ArdourButton event sequence.
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.

9 years agobrighten post-fader redirects, and change redirect leds to blue
Ben Loftis [Thu, 28 Aug 2014 13:58:26 +0000 (08:58 -0500)]
brighten post-fader redirects, and change redirect leds to blue

9 years agoreplace missing fader redirect color
Ben Loftis [Thu, 28 Aug 2014 13:19:49 +0000 (08:19 -0500)]
replace missing fader redirect color

9 years agoAdd an extra folder to get searched (on Windows only) when looking for config files.
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.

9 years agoMake sure all our VC projects agree that the product is called 'Mixbus3' (as opposed...
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.

9 years agomove preferences->GUI->Metering into its own tab
Ben Loftis [Wed, 27 Aug 2014 19:02:00 +0000 (14:02 -0500)]
move preferences->GUI->Metering into its own tab

9 years agoStandardize drawing of PixFader and BarController; implement flat_buttons and prelight.
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

9 years agoeven more flat_buttons
Ben Loftis [Wed, 27 Aug 2014 16:56:06 +0000 (11:56 -0500)]
even more flat_buttons

9 years agomore flat_button refactoring. try centering the gain and peak displays
Ben Loftis [Wed, 27 Aug 2014 16:55:32 +0000 (11:55 -0500)]
more flat_button refactoring.  try centering the gain and peak displays

9 years agouse ArdourButtons on the automation time axis
Ben Loftis [Wed, 27 Aug 2014 16:53:53 +0000 (11:53 -0500)]
use ArdourButtons on the automation time axis

9 years agomore flat_button refactoring
Ben Loftis [Wed, 27 Aug 2014 16:53:30 +0000 (11:53 -0500)]
more flat_button refactoring

9 years agorefactor flat_buttons into cairowidget, and add a canvas-like convenience function...
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

9 years agofix pushed-in state of invert buttons, and fix an initizlization order warning
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

9 years agoRationalize ArdourButton and lots of associated theming issues.
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.

9 years agorefactor _grabbed into cairo_widget
Ben Loftis [Thu, 21 Aug 2014 16:13:23 +0000 (11:13 -0500)]
refactor _grabbed into cairo_widget

9 years agoMerge branch 'selection_fixes' of https://github.com/nmains/ardour into cairocanvas
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

9 years agoFix crash on snapshot change.
nick_m [Thu, 14 Aug 2014 15:42:48 +0000 (01:42 +1000)]
Fix crash on snapshot change.

9 years agoMerge branch 'selection_fixes' of https://github.com/nmains/ardour into cairocanvas
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

9 years agoAdd backwards compatibility for instant.xml changes.
nick_m [Wed, 13 Aug 2014 17:19:40 +0000 (03:19 +1000)]
Add backwards compatibility for instant.xml changes.

9 years agoMove ExportProfile xml from Session instant.xml to session file.
nick_m [Wed, 13 Aug 2014 16:52:42 +0000 (02:52 +1000)]
Move ExportProfile xml from Session instant.xml to session file.

9 years agoremove cruft related to button-height commit
Ben Loftis [Wed, 13 Aug 2014 16:00:04 +0000 (11:00 -0500)]
remove cruft related to button-height commit

9 years agoYet another attempt to standardize button heights.
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.

9 years agoClicking already-selected region should clear other selections. Thanks to nick_m
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