Commit graph

14213 commits

Author SHA1 Message Date
Robin Gareus
9cd0af6b51 compact meter+fader for > 6 channel tracks 2014-09-02 19:33:58 +02:00
Robin Gareus
5d0e4f7380 number-label: use pixel-width for given font 2014-09-02 19:27:40 +02:00
Robin Gareus
29b7cb4a05 ArdourButton: prepare for [em] based padding 2014-09-02 19:23:18 +02:00
Robin Gareus
b184df3286 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)
2014-09-02 18:12:39 +02:00
Robin Gareus
eed9542930 get rid of a compiler warning 2014-09-02 16:17:42 +02:00
Robin Gareus
6462cfa843 dramatically speed up track-number show/hide toggle 2014-09-02 16:17:20 +02:00
Robin Gareus
538a569d0b add a special bool option that prevents redrawing 2014-09-02 16:16:36 +02:00
Robin Gareus
9ecdb765aa don't show 'unity-line' (default value) for barcontrollers 2014-09-02 16:05:54 +02:00
Robin Gareus
3b9b65879a Barcontroller: no double expose when text chages 2014-09-02 16:05:21 +02:00
Robin Gareus
ecf5d5f137 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
2014-09-02 16:00:24 +02:00
Robin Gareus
88df9c28a6 fix static initialization of Gtk::SizeGroup 2014-09-02 05:14:26 +02:00
Robin Gareus
5803f26c51 add style for BarController SpinButton 2014-09-02 05:14:22 +02:00
Robin Gareus
efb03f4596 unify BarController with Slider/Pixfader. 2014-09-02 05:14:19 +02:00
Robin Gareus
41ccf6a806 clean up pixfader API, prepare for merge w/BarController 2014-09-02 05:14:14 +02:00
Robin Gareus
3bfe91c010 remove cruft from SliderController 2014-09-02 05:14:06 +02:00
Robin Gareus
540a12119b prepare Slider API cleanup 2014-09-02 02:53:05 +02:00
Robin Gareus
001e4ca684 Engine Dialog: focus OK button (press enter to cont w/previous settings) 2014-09-01 22:06:45 +02:00
Robin Gareus
9f0caacc5c 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 d439e93b1e.
2014-09-01 22:02:51 +02:00
Robin Gareus
158037bba2 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
2014-09-01 18:05:09 +02:00
David Robillard
34c1465cf9 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).
2014-08-31 18:57:22 -04:00
Robin Gareus
b012f2cd18 retain track-header width regardless of number-label. 2014-09-01 00:00:20 +02:00
David Robillard
b469cd217f Bring back control slider on MIDI controller "tracks". 2014-08-31 17:54:16 -04:00
David Robillard
885f1c71ec Remove unused variables (fix warnings). 2014-08-31 17:54:16 -04:00
David Robillard
c95c221493 Fix mismatched initialisation order. 2014-08-31 17:54:16 -04:00
Robin Gareus
dbad29f388 the story of 0 2014-08-31 23:38:25 +02:00
Robin Gareus
cb8ce29725 rework track inset (amend 7d7b787 and bf13bf63):
Only inset red-selection rectangle (top & bottom).
Do not draw duplicate borders (waste pixels) for regular regions.
2014-08-31 23:36:38 +02:00
Robin Gareus
4718def3c4 update track-header width when removing track(s). 2014-08-31 22:54:43 +02:00
Robin Gareus
7d7b787a28 inset regions into track (don't share edges) 2014-08-31 22:24:44 +02:00
Robin Gareus
423f6e3445 fix track-header hide/show 2014-08-31 22:24:26 +02:00
Robin Gareus
154621978a track-header fader tweaks:
* align height to button-height.
* align width to label text-entry
* increase min width
2014-08-31 21:32:22 +02:00
Robin Gareus
0b1ee476ed proper 1px track separator 2014-08-31 20:08:38 +02:00
Robin Gareus
758c988e51 shadow-less Frame: explicitly draw background colored border. 2014-08-31 20:07:17 +02:00
Robin Gareus
f7e5d4eba2 the return of the time_axis_vbox 2014-08-31 19:43:32 +02:00
Robin Gareus
50c3177a5e remove frame from barcontroller 2014-08-31 19:36:41 +02:00
Robin Gareus
e3d982a66e set initial TAV style 2014-08-31 18:51:04 +02:00
Robin Gareus
1e0c987b77 update track-header width when changing show-track-meters 2014-08-31 16:46:11 +02:00
Robin Gareus
888f440633 move midi scroomer to right of meter and fix alignment 2014-08-31 16:15:52 +02:00
Robin Gareus
098a698052 right side track-header control buttons (for non mixbus profile) 2014-08-31 16:12:43 +02:00
Robin Gareus
db34d9a556 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.
2014-08-31 12:46:45 +02:00
Robin Gareus
42e6c9c75d proper round corners for peak&gain display 2014-08-31 12:08:39 +02:00
Robin Gareus
f6da7c67ab experiment with track-selection box shadow 2014-08-31 08:08:36 +02:00
Robin Gareus
059e438f40 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.
2014-08-31 07:54:59 +02:00
Robin Gareus
7d3f0bfd75 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")))
2014-08-31 07:50:17 +02:00
Robin Gareus
026c71331e distinguish global peak-reset button from meters:
With > 2 channels, the editor toolbar meters are
otherwise very similar to the reset-button.
2014-08-31 07:43:21 +02:00
Robin Gareus
d0c7984320 new min. height for midi controls 2014-08-31 07:12:41 +02:00
Robin Gareus
c993e2d37b update track-header width when track-number visibility is toggled 2014-08-31 07:12:21 +02:00
Robin Gareus
19b212334a remove (unused) separator, update TAV height calc. 2014-08-31 07:12:00 +02:00
Robin Gareus
9c59b21bb6 simplify time-axis packing: consistent table layout 2014-08-31 07:11:24 +02:00
Robin Gareus
36c4704df9 revert parts of bf13bf63, change track-header color on selection 2014-08-30 21:44:47 +02:00
Robin Gareus
dc83ae4ffc NOOP, re-indent, fix whitespace 2014-08-30 21:44:41 +02:00