Commit graph

10467 commits

Author SHA1 Message Date
Paul Davis
ae32f44dc9 add insert-at combo selector for duplicate tracks dialog 2016-08-22 09:41:59 -04:00
Robin Gareus
444b9e8903 Parse information from harvid independent from the locale
This fixes a crash where aspect ratio "0.5" from harvid was interpreted
as "0" in the French locale (expecting 0,5).

Note: harvid uses a portable, not localized snprintf() implementation
2016-08-22 14:47:37 +02:00
Paul Davis
36f232d558 factor out "new route insertion point" enums so they can be shared by relevant dialogs 2016-08-22 08:40:12 -04:00
Paul Davis
b339cde446 remove debug output from last commit 2016-08-21 21:44:33 -04:00
Paul Davis
ed5091d7ae editing plugin with generic GUI has a tooltip saying it uses the primary modifier. Make it so 2016-08-21 21:42:16 -04:00
Julien "_FrnchFrgg_" RIVAUD
d92686afb4 Repeat INSENSITIVE colors instead of relying on inheritance
Since inheritance doesn't seem to work on some systems, though it worked
on mine.
2016-08-22 01:58:08 +02:00
Robin Gareus
444497b571 remove close buttons from Bundle Manager (rely on WM provided button) 2016-08-21 23:02:37 +02:00
Robin Gareus
cd77f7e209 even more consistent labels in the mundle manager 2016-08-21 23:02:37 +02:00
Robin Gareus
9e981367e2 Fix another crash at exit:
Collecting bindings after ::finish() has already destroyed half the GUI
will result in memory corruption invalid Glib::RefPtr<Gtk::Action>

 Gtkmm2ext::ActionMap::get_actions()
 Gtkmm2ext::Bindings::get_all_actions()
 KeyEditor::Tab::populate()
 KeyEditor::refresh()
 Editor::set_script_action_name()
 LuaInstance::session_going_away()
 PBD::Destructible::drop_references()
 ARDOUR::Session::destroy()
 ARDOUR::Session::~Session()
 ARDOUR_UI::finish()
2016-08-21 23:02:37 +02:00
Robin Gareus
5eacf424b6 Resolve Bundle Manager Input/Output label ambiguity 2016-08-21 19:12:16 +02:00
Julien "_FrnchFrgg_" RIVAUD
01ac1b5362 Merge set_pango_fontsize() into reset_dpi()
… since reset_dpi() is the only caller.
2016-08-21 15:04:06 +02:00
Julien "_FrnchFrgg_" RIVAUD
6588da09b3 Silence a GCC initialization order warning 2016-08-21 15:04:06 +02:00
Julien "_FrnchFrgg_" RIVAUD
ec74d4b0d0 Avoid jitter of track headers width when changing automation states 2016-08-20 18:32:37 +02:00
Julien "_FrnchFrgg_" RIVAUD
fcadcac7e7 Make knobs size requests dynamic
At the point of creation, the automate_button size request is wrong
since it has not the correct style yet. Instead of trying ugly hacks to
fix that, connect to the knob's size_request signal and get the button's
requisition only when needed. If the system font changes to one that has
different extents (even if the point size is the same), the UI will thus
correctly update.
2016-08-20 18:12:49 +02:00
Julien "_FrnchFrgg_" RIVAUD
aed07c4998 Do not constrain vertical size without need
A value of -1 means "let the widget use its natural size in that
direction".
2016-08-20 18:12:07 +02:00
Julien "_FrnchFrgg_" RIVAUD
ed723ca2c3 Use ArdourButton::Square mode instead of ad-hoc sizing 2016-08-20 18:11:13 +02:00
Julien "_FrnchFrgg_" RIVAUD
00e081024b Use set_sizing_text in generic plugin ui 2016-08-20 16:05:18 +02:00
Julien "_FrnchFrgg_" RIVAUD
99e31db66e Invalidate char_pixel_* on possible font change
So that the padding and other elements always correctly depend on the
font instead of the default GTK font (which might have a wildly
different size from the fixed size fonts of Ardour's custom theme).
2016-08-20 16:01:15 +02:00
Julien "_FrnchFrgg_" RIVAUD
f108bf1373 ArdourButton: add text for measuring decoupled from display text
In the normal course of events, an ArdourButton requests just enough
space to display its elements. In particular the size will change when
the text does. Yet, in several cases it is better to avoid layout jittering; until now ArdourButton users manually set a static size on the button at creation time.

Introduce new API to set the text used for measuring the button size
separately from the text that will be displayed. In most cases this
enables the callers to replace

    set_size_request_to_display_given_text(button, text, w, h);

where w and h were hard-coded to cater for other button elements, by

    button.set_sizing_text(text);

which will make ArdourButton correctly compute the size request in all
cases with its real elements and padding. ArdourButton users can call

    button.set_sizing_text("");

to get the size request depend on displayed text (which is the default).
2016-08-20 16:00:46 +02:00
Julien "_FrnchFrgg_" RIVAUD
23ccf48c28 Fix colors of disabled spin buttons (and maybe others)
The insensitive state should not get a base color that's the same as the
enabled one, or the difference is not visible enough (only the text
color changes). In fact, since the goal of the entry modifications is to
aid visibility during user input, there is no reason to override the
insensitive colors.

Just inherit the insensitive colors of the global style.

Also fix a comment that was attached to the wrong declaration.
2016-08-20 00:31:19 +02:00
nick_m
c1b950373f Amend last commit - remove some code. 2016-08-20 05:41:12 +10:00
nick_m
869a9cb5df Swap tempo/meter colours when hovering. Use entered marker for these as well.
- Note : entered_marker modifies the 'p' press, locating to the
	  currently hovered-over marker.
2016-08-20 04:36:52 +10:00
nick_m
949dd8245d Add a colour for music-locked meters. 2016-08-20 04:33:51 +10:00
Paul Davis
91757960cc fix missing API for no-app-nap when building on OS X < 10.9 2016-08-19 13:19:37 -04:00
nick_m
0444ce1d5e Revert last commit (269a08a2b1). 2016-08-20 01:58:56 +10:00
nick_m
269a08a2b1 Allow both types of constrained drag (again).
- Holding the constraint modifier at the time of grab gives constrained x.

	- Holding the constraint modifier after the grab but before the first motion
	  constrains to the direction of first movement.
2016-08-20 01:46:04 +10:00
nick_m
2d7bdda0be Extending an empty selection selects the clicked region.
- fixes a crash where the first operation on loading a session
	  is a constrained drag
2016-08-20 01:34:53 +10:00
Paul Davis
25ec63968c add code to disable AppNap on OS X/MacOS
Should build on versions before 10.9 and run everywhere due to respondsToSelector check.
2016-08-19 11:12:35 -04:00
Julien "_FrnchFrgg_" RIVAUD
e2846ad210 Remove unused lines in clearlooks.rc.in 2016-08-19 15:49:47 +02:00
Julien "_FrnchFrgg_" RIVAUD
5cc97f55f2 Avoid CamelCase in color names 2016-08-19 14:57:07 +02:00
Julien "_FrnchFrgg_" RIVAUD
d599be115d Make automation state buttons active when not on Manual
With the same color code as the fader automation button on mixer strips.
This is especially usefull when use_knob is true (e.g. for a-EQ) because
the automation only shows one letter and a "Write" state can thus be
easy to miss.
2016-08-19 02:53:39 +02:00
Julien "_FrnchFrgg_" RIVAUD
ede27f53c6 Remove unused space in gain_meter's automation menu 2016-08-19 02:53:39 +02:00
Julien "_FrnchFrgg_" RIVAUD
907c56234c Add missing return 2016-08-18 16:32:38 +02:00
Julien "_FrnchFrgg_" RIVAUD
523306036e Make ArdourButton detect when a grab should stop being pressed
If for whatever reason a grab is taken (e.g. a menu popping up) while
somebody is pressing a mouse button on an ArdourButton, then the
ArdourButton will not get the mouse button release event and will look
stuck in pressed position.

The leave notify event is fired if the mouse is still on the
ArdourButton while the grab is taken, but not if the user was dragging
the mouse outside of the button.

The only reliable way is to listen for the grab_broken_event signal.
Do so.
2016-08-18 16:16:17 +02:00
Paul Davis
0ab81183c0 don't show empty time axis view context menus 2016-08-18 08:16:31 -04:00
Julien "_FrnchFrgg_" RIVAUD
534ca81613 Make buttons in track headers behave more like Gtk::MenuToolButton
Make their popup menus show attached, and on mouse down, but keep the
context menu behavior on middle- and right-click for the group button
that reacted to those (probably an oversight but some users might have
got the habit of right-clicking).

This also makes the group deletion on Ctrl+click happen on mouse down
instead of mouse up which is not a great difference and avoids
complicating the code.
2016-08-18 13:24:00 +02:00
Julien "_FrnchFrgg_" RIVAUD
1d686ac978 Make name_button behave more like a Gtk::MenuToolButton
Make it popup its menu in attached mode, and on mouse down, but keep the
context menu behavior on right-click.
2016-08-18 11:52:22 +02:00
Julien "_FrnchFrgg_" RIVAUD
3ab6ff8be7 Make in/out buttons behave more like Gtk::MenuToolButton
Make them popup their menu as if attached rather than as a context menu.
2016-08-18 11:50:38 +02:00
Paul Davis
9095d60f96 removed commented code, now that the comment is actually correct 2016-08-17 23:13:49 -04:00
Paul Davis
71236425a6 fix hard/impossible trimming situation 2016-08-17 23:09:33 -04:00
Paul Davis
e8427ee2cb GUI does an even stronger check on no undo/redo while recording 2016-08-17 19:22:26 -04:00
Julien "_FrnchFrgg_" RIVAUD
214dfccdae Use a real dropdown for AutoState in automation lanes 2016-08-17 23:56:31 +02:00
Julien "_FrnchFrgg_" RIVAUD
606ffe6a35 Align the currently selected automation state on dropdown
By passing the current text of the automation button we can make the
dropdown menu align with the current mode. This will only work for
full-size automation buttons, not when use-knob is true, but in that
case it feels wrong to popup on top of the button anyway.

Also make the menu show on mouse down like a real dropdown.
2016-08-17 23:56:31 +02:00
Robin Gareus
90e2baf6a9 upcoming codenames 2016-08-17 17:04:02 +02:00
Julien "_FrnchFrgg_" RIVAUD
d883d4623a Make MixerStrip's automation menu behave like a dropdown 2016-08-17 14:30:28 +02:00
Julien "_FrnchFrgg_" RIVAUD
b48e803cf6 Make the group button in MixerStrip behave like a dropdown
Since it mostly is a multiple-choice menu.
2016-08-17 01:46:11 +02:00
Julien "_FrnchFrgg_" RIVAUD
6a985df81e Replace positioning function with popup helper
Because all uses of the function positioning menus anchored to a widget
were as callback argument to Gtk::Menu::popup() where the caller needed
to correctly bind arguments, this led to repeated and a bit obscure code.

Wrap the logic into an helper function that takes care of all that, and
update the callers.
2016-08-17 01:45:47 +02:00
Paul Davis
46710a75de fix issue with WM close/delete ("X") button not working for window proxied dialogs (e.g. add route dialog) 2016-08-16 13:57:00 -04:00
Paul Davis
9421e0b4a7 allow constrained-drag of MIDI notes to work 2016-08-15 11:20:23 -04:00
nick_m
a9b72f87a6 Add missing line feed in midi_region_view.cc 2016-08-16 00:56:08 +10:00