13
0
Commit Graph

942 Commits

Author SHA1 Message Date
a598c5d4ac fix inadvertent case change 2016-02-22 15:31:25 -05:00
d2a6fec03a additional GTKOSX => __APPLE__ changes missed in previous commit 2016-02-22 15:31:25 -05:00
329c096066 add a clarifying comment 2016-02-22 15:31:25 -05:00
b23c5264f2 change operator<< for Keyboardkey to show state in hex 2016-02-22 15:31:25 -05:00
2cc44e7668 no more munging with keyvals/accels on OS X 2016-02-22 15:31:24 -05:00
aa71d60ab9 remove Bindings::ignored_state and use Keyboard::RelevantModifierMask 2016-02-22 15:31:24 -05:00
fbc985f913 set PrimaryModifier on OS X to match the actual bits used by GTK for Command 2016-02-22 15:31:24 -05:00
aba063bfaa remove Gtkmm2ext::possibly_translate_mod_to_make_legal_accelerator().
This is no longer needed because we can set the modifier to the actual bits that GTK uses for Command (META+MOD2)
2016-02-22 15:31:24 -05:00
bc487bb4b0 replicate the remove-all-trailing whitespace commit(s) in master 2016-02-22 15:31:24 -05:00
589f2a1ab8 change suffix of keybinding files to ".keys" to avoid conflict with earlier versions.
Move some code around that should never have been inside libs/ardour to begin with.
2016-02-22 15:31:24 -05:00
b944532f67 cleanup Bindings/ActionMap API to get all actions for various purposes 2016-02-22 15:31:24 -05:00
66e0328a93 create a two-way association between an action map and a bindings object, rather than just one way.
This helps us lookup bindings when printing out lists for the user
2016-02-22 15:31:24 -05:00
949163f806 more changes to Bindings, Keyboard APIs 2016-02-22 15:31:24 -05:00
67e19c177f radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
29b69b0ab4 various fixes for saving bindings state 2016-02-22 15:31:24 -05:00
f028a6bffb fix memory lifetime management issue 2016-02-22 15:31:24 -05:00
36023db8aa change/extend/rework Bindings API to allow replacement and provide stub/hook/call to save bindings 2016-02-22 15:31:23 -05:00
04a9ce757c initial compilable version of saving key bindings with "new" scheme 2016-02-22 15:31:23 -05:00
00933950b7 small rationalization of naming and code for managing plugin GUI visibility 2016-02-22 15:31:23 -05:00
e13322e7f5 bindings: prevent double registration and double signal connection, and provide get_all_actions() methods 2016-02-22 15:31:23 -05:00
d0fc12bd22 remove all action-registering API from Gtkmm2ext::ActionManager 2016-02-22 15:31:23 -05:00
0f17508e6c changes to Bindings and Keyboard API to support (mostly) GTK-free keyboard bindings 2016-02-22 15:31:23 -05:00
077bb13e94 extend API for tabbable visibility management 2016-02-22 15:31:23 -05:00
d4664434f7 set "close-button" data on Tabbable contents.
I tried doing this in the constructor and got a segfault for reasons I don't understand
but probably should
2016-02-22 15:31:23 -05:00
5e0337a4a3 convert CairoIcon into a NO_WINDOW widget that just draws into its parent widget 2016-02-22 15:31:23 -05:00
a48684c692 if _need_bg is set to false in a CairoWidget, then don't actually draw the background 2016-02-22 15:31:23 -05:00
b6c4ae46d0 clean up tabbable state maintainance; drop Gtk::Button unintentionally used for close cross image 2016-02-22 15:31:23 -05:00
d6f3a006d2 scale CairoIcon by Gtkmm2ext::UI::ui_scale 2016-02-22 15:31:23 -05:00
b48c7c0180 revert to thin lines for close cross icon 2016-02-22 15:31:23 -05:00
914af0f0c8 move ui_scale static member from ARDOUR_UI to GtkUI 2016-02-22 15:31:22 -05:00
0819efe27c remove unused lines 2016-02-22 15:31:22 -05:00
90845af8fa hopefully get dynamic tabbable menu state right this time 2016-02-22 15:31:22 -05:00
e2dfc10698 thicken up lines of close cross icon 2016-02-22 15:31:22 -05:00
1c41f75488 provide a sigc::signal to track display state changes for a Tabbable 2016-02-22 15:31:22 -05:00
308f6ed828 changes to get show/hide/attach/detach working 2016-02-22 15:31:22 -05:00
fd938d95bf change/extend Tabbable API to allow for show/hide/attach/detach 2016-02-22 15:31:22 -05:00
8e14496919 use new CairoIcon to add a tab-close "button" to tabs 2016-02-22 15:31:22 -05:00
e026adf4a9 second part of: add new CairoWidget-derived class that does nothing but shown an ArdourIcon. 2016-02-22 15:31:22 -05:00
c06c2c29db add new CairoWidget-derived class that does nothing but shown an ArdourIcon.
Somewhat necessary by placement of ArdourButton class in directory heirarchy. But these are also
much simpler
2016-02-22 15:31:22 -05:00
434ef34229 add tab-closing buttons to tabs.
Images are non-scalable, too big and ugly. Next commit ...
2016-02-22 15:31:22 -05:00
347ba94bcd add ::make_visible() to Tabbable class 2016-02-22 15:31:22 -05:00
436706c8d4 remove debug output 2016-02-22 15:31:22 -05:00
e46b518319 classes derived from WindowProxy are responsible for their own window creation in ::set_state().
Fixes a crash reported by A.Prokoudine when opening a session with visible plugin GUIs
2016-02-22 15:31:22 -05:00
37fce09a18 widespread changes to get the new (oldArdour binding scheme to be used for keyboard accelerators 2016-02-22 15:31:22 -05:00
d84f655495 add suggestive tooltips for tabs; remove position argument for Tabbable since it isn't really usable 2016-02-22 15:31:21 -05:00
552e995297 save/restore tabbable state 2016-02-22 15:31:21 -05:00
9f0ea99fac better way to switch to a tab 2016-02-22 15:31:21 -05:00
03b354a99e make tabs reorderable 2016-02-22 15:31:21 -05:00
a5150d500d when tearing off a tab, make the window be the same size as the allocation of the tab 2016-02-22 15:31:21 -05:00
9010262bed first compilable version of tabbable design.
I would have loved to split this apart, but there are just so many interrelated changes,
it makes little sense and would be a huge effort that would break future git bisect
use because so many intermediate commits would not compile
2016-02-22 15:31:21 -05:00
85eee3b09d compilable version of WindowProxy 2016-02-22 15:31:21 -05:00
a29f76c1c4 initial versions of Tabbable object 2016-02-22 15:31:21 -05:00
df05e97288 first version of Gtkmm2ext::WindowProxy 2016-02-22 15:31:21 -05:00
André Nusser
1afbdaff58 Fix compilation warnings. (libs part) 2016-02-22 15:11:02 -05:00
86d27a736c better system for managing kbd focus after cmd-w closing a dialog.
Key, Button and Focus In events in the editor+mixer windows cause the respective window to be noted
as the window to which focus should return after a dialog is closed with cmd/ctrl-w
2016-02-22 14:03:55 -05:00
60c4b30b7e manually revert most of previous commit related to dialog/main window focus management 2016-02-22 13:55:31 -05:00
3a08ac5e1f os x: an initial attempt at fixing loss of keyboard focus after cmd-w to close dialog 2016-02-22 11:49:17 -05:00
344cf05540 OS X: fix the handling of SUPER,HYPER,META (see code comment for more) 2016-02-21 10:48:35 -05:00
c92e822332 remove HYPER,SUPER,META modifier masks from Keyboard::RelevantModifierMask so that modifier_state_equals() works on OS X
GTK on OS X adds META when Command is pressed even though it also uses MOD2 to indicate COMMAND. So Cmd-w was actually META-MOD2-w and modifier_state_equals(MOD2)
would fail. This should have nothing but good side effects
2016-02-18 09:44:50 -05:00
dd7649a409 add a static utility function (should really be in utils.cc and public) to show modifier state in english; use said function 2016-02-18 09:43:03 -05:00
4a9ffee486 Allow partial CairoWidget exposure 2016-02-12 22:57:46 +01:00
3f43e5cd04 Remove no longer needed 'prolooks' source(s) from our MSVC projects (gtkmm2ext & gtk2_ardour) 2016-02-12 12:31:22 +00:00
e6b06597b7 remove all traces of "prolooks" and related classes 2016-02-11 13:03:24 -05:00
85b4acc916 Change CairoWidget::get_active() to be const 2016-02-11 12:15:07 +10:00
9e3299f97d change Controllable::set_value() API to include grouped control consideration.
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
5d8b75386c allow to set per item drag targets 2015-12-30 12:25:09 +01:00
2d871435ca allow to set parent for modal dialog 2015-12-29 13:31:24 +01:00
ee541036b4 fix window-title (separate application name, thread name) 2015-12-29 11:03:09 +01:00
8e1a9f0ada missing drag-end (fix possible crash) 2015-12-28 17:23:45 +01:00
0d9efc1148 redesign cross-thread registration/signalling system
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00
0aba08594c allow DnD between DnDTreeView and DnDVbox 2015-12-28 04:10:39 +01:00
3ff674d583 Treeview Drag: allow to use single column as drag-widget 2015-12-24 17:26:06 +01:00
2a55e8b9b3 extend Drag/Drop mechanism
DnDVbox: un-hardcode TargetEntry list, add callback for secondary targets
DvDTreeview: return pointer to self
2015-12-22 04:14:12 +01:00
3d1dcacfd8 use correct source for application name when labelling a window 2015-12-12 11:12:10 -05:00
be6a43d4d3 use EventLoop::event_loop_name() 2015-12-12 11:12:10 -05:00
Edgar Aichinger
ba3936391a update german translation 2015-12-09 13:22:25 +01:00
73d1de3b75 NOOP, remove trailing whitespace, replace tabs in python scripts 2015-11-29 17:54:31 +01:00
Nils Philippsen
e25ddc39f8 make copies of global lists before extending
Not doing so can make source or object files appear multiple times in
the list of files to be compiled or linked, e.g. when doing './waf build
install', subsequently leading to linker errors.
2015-11-23 08:43:19 -05:00
52e75f5a45 remove cruft 2015-10-20 15:49:59 +02:00
f1a6d7816d remove unused "copy modifier hint" 2015-10-20 11:12:36 +02:00
nick_m
9511c9c86f Add tooltips to user config preferences. clean up combo ordering. 2015-10-20 00:53:30 +11:00
2c9666e0ee API to add system-specific file chooser shortcuts 2015-10-16 19:06:21 +02:00
79142a262e prepare better solution of Glib's << operator 2015-10-15 11:22:35 +02:00
2397429e99 use quotes for in-tree pbd/glib wrapper include 2015-10-05 22:15:18 +02:00
dc36b063bf remove unused fstream includes 2015-10-05 22:15:18 +02:00
97bd6db2b7 remove i/ofstream from libardour
except: 
 * audio-unit (ifstream is known to work on OSX)
 * evoral curve algorithm debugger
 * cycle-timer debug code
 * export_handler's CDMarker  -> TODO
2015-10-05 22:15:17 +02:00
c3b2cc46c5 remove unused API (and ifstream) 2015-10-05 22:15:17 +02:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
8384d98c92 there's no class called "The" :) 2015-10-01 21:39:15 +02:00
f3a1ac21cb associate label more closely with VST path button. the plugin tab needs a complete layout rethink, someday 2015-09-17 16:07:40 -05:00
7ac691ec82 use pbd's gstdio compatibility wrapper 2015-09-17 14:37:57 +02:00
eb998b3264 plug some memory leaks in libs 2015-09-12 20:05:25 +02:00
fcbf359dd6 properly clean up meter-pattern cache 2015-09-07 13:35:48 +02:00
57321bef35 consistent pango-text layout size - fixes #6490
Use gdk_pango_layout() for all text-size calculations.
In Canvas::Text always use the same context (local image surface)
for layouting (prior to this, local and window-context mix resulted in 
different sizes).
2015-09-06 16:39:08 +02:00
42f0142bb9 remove a float loop counter 2015-09-05 15:47:00 +02:00
9bc85a553c add API to get combobox option count.
The data model needs to be checked to count available options.
Directly using ComboBoxText::children()::size() counts widgets.
2015-08-11 15:38:26 +02:00
7aeead630a adjust click box size - fixes #6499 2015-08-05 19:53:33 +02:00
46c8369328 merge fix 2015-07-16 16:13:24 -05:00
782aa6aa47 add missing return value 2015-07-16 15:34:37 +02:00
56ba08b7cb implement scroll-wheel support for ClickBoxes 2015-07-13 15:33:15 +02:00
466af2a80b don’t compile tracks specific sources for ardour. 2015-07-02 15:32:29 +02:00
fe5852fc1d MSVC doesn't like us calling 'sqrt()' with integers (it doesn't have a version which takes an int)
So let's specify which version we'd like it to use.
2015-07-02 08:23:38 +01:00
51dd5b525b Add some newly introduced sources to our MSVC project (gtkmm2ext) 2015-07-02 08:23:37 +01:00
ea4ffbb674 prevent stuck & vanishing tooltips
the window needs to be moved in place before presenting it.
Otherwise it is displayed at mouse-pos and moving it triggers enter/leave,
which in turn re-start the timeout..
2015-06-30 13:08:22 +02:00
efa170b6bc stop PersistentTooltip flicker.
timeout is used for a *one-time* delayed display of the tooltip.
2015-06-30 13:05:42 +02:00
1adc5d5cf4 Revert "fix previously cherry-picked commit to be Tracks-only, since Ardour/Mixbus are not affected"
This reverts commit dddf76abf5.

it is relevant for Ardour/OSX, see 58fec98a and da43652
2015-06-30 08:11:06 +02:00
0274aafdb0 store all error/info/etc messages in a list inside Gtkmm2ext::UI, and provide a method to dump them all to a std::ostream 2015-06-29 16:27:03 -04:00
ec16c454ef comment unused but potentially usable variables 2015-06-29 14:18:15 -04:00
0e72e8446a update waves' fader implementation, clean up whitespace, indentation, variable initialization and remove unused members 2015-06-29 14:18:15 -04:00
d4bd394b4b Revert "remove unused variables". They are used on OS X.
This reverts commit 0fba19e9e6e6c519c89ce63149581b8f24b38c8c.
2015-06-29 14:18:15 -04:00
8c4b899352 remove unused variables 2015-06-29 14:18:15 -04:00
e6b4c9f610 fix whitespace/indentation and compiler warnings 2015-06-29 14:18:15 -04:00
dddf76abf5 fix previously cherry-picked commit to be Tracks-only, since Ardour/Mixbus are not affected 2015-06-29 14:18:15 -04:00
Nikolay
55658c3aae [Summary] Mac OS specific bug fix: Increased priority of the top menu bar events
[Details] g_idle_add () which was used for this purpose used G_PRIORITY_DEFAULT_IDLE>=200 which was too low for correct main menu requests processing, like showing Mixer or Big Clock Window.

The priority was increased to G_PRIORITY_HIGH_IDLE = 100.
According to GTK manual (https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS)
GTK+ uses G_PRIORITY_HIGH_IDLE + 10 = 110 for resizing operations, and G_PRIORITY_HIGH_IDLE + 20 = 120 for redrawing operations.

I assume that during record or playback on tracks there are too many redraw request which didn't give any chance for main menu request to be processed in time with old priority value.

This change must be considered as a hot fix so far.
The issue might be deeper. Will be investigated with Paul.

[Feature reviewed] AMishyn
[Reviewed by] PDavis, GZharun
2015-06-29 14:18:15 -04:00
c66ea2c170 add new Gtkmm2ext::pixel_size() to conveniently get width&height for a given font + string 2015-06-29 14:18:14 -04:00
96078650c9 API to set tooltip y-margin
Conflicts:
	libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
	libs/gtkmm2ext/persistent_tooltip.cc
2015-06-29 14:18:13 -04:00
7fae6bcd87 copy all XCode project files from Tracks.
Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical
2015-06-29 14:18:10 -04:00
b385d02022 merge two small pieces of code by Valeriy into libs/gtkmm2ext, conditionally used ONLY in Tracks builds.
This code is not acceptable for use in Ardour ... comments in code explain more.
2015-06-29 14:18:10 -04:00
8c41a412c1 fix up waves_fastmeter.cc code to work with current fastmeter API 2015-06-29 14:18:10 -04:00
e1bd9401d5 add clean and nice check for Tracks builds 2015-06-29 14:18:10 -04:00
8a9dc2c2d5 conditionally use correct fast meter implementation 2015-06-29 14:18:10 -04:00
d4c28adc6f add Waves Tracks version of fastmeter 2015-06-29 14:18:10 -04:00
Nikolay
f3719922c8 [Summary] Changed class PersistentTooltip. Now it can be used for 'non-draggable' tooltips.
[Feature reviewed] MKosharnyy
[Reviewed] VKamyshniy

Manually clean up merge mess, indentation, logic weakness, initializer order, etc.

Conflicts:
	libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
	libs/gtkmm2ext/persistent_tooltip.cc
2015-06-29 14:18:09 -04:00
2363fb71e3 hand-merge libs/gtkmm2ext part of f49d31a82 from Tracks; provides a way to disable/re-enable OS X main menu 2015-06-29 14:16:43 -04:00
Nikolay
7e097c5efc [Summary] Bug fix #44332 "Please fit the Pan values monitor to channel borders"
[Feature reviewed] AMishyn
[Reviewed] VKamyshniy

Fixed up by Paul Davis to fix logic mistakes and unnecessary complexity,
and indentation.

Conflicts:
	libs/gtkmm2ext/persistent_tooltip.cc
2015-06-29 14:16:43 -04:00
YPozdnyakov
4465fb62f3 [Summary]: add keybindings Cmd-h (hide application) for mac
Conflicts:
	gtk2_ardour/ardour_ui.cc
	gtk2_ardour/ardour_ui.h
	gtk2_ardour/ardour_ui_ed.cc
2015-06-29 14:16:43 -04:00
YPozdnyakov
57dd0ef2f6 [Summary]: fix declaration of Cocoa NSApplicationDelegate methods [Reviewed by] Paul Davis
Conflicts:
	libs/gtkmm2ext/gtkapplication_quartz.mm
2015-06-29 14:16:43 -04:00
d541fda2be current version of valeriy's fader object requires access to libardour API (to be changed) 2015-06-29 14:16:43 -04:00
b9a09bc920 add fader implementation from Tracks 2015-06-29 14:16:43 -04:00
nick_m
57ce447fd1 Fix some workflow problems wrt automation.
- clearing automation points sets control to "off" rather than touch.
	- multiple touches on the same pass acts consistently (no more
	  fader jumps on mouse button press
	- use actual value for initial point rather than some arbitrary
	  default. clarify new semantics of add () (with_default->with_initial).
	- clean some whitespace
	- add guard points as needed in stop.
	- catch grab broken signal (i can't trigger it, but the docs seem
	  to think it is essential).
2015-06-17 09:54:22 +10:00
cc543280d9 We were 2 more debug "bits" away from overflow, so recast PBD::DEBUG mechanism away from a 64bit integer and toward std::bitset.
Clean up a few minor related PBD::DEBUG issues along the way
2015-06-12 18:14:09 -04:00
nick_m
b3a4c88e0e Make absolute snap the default snap.
- also fixes a couple of absolute snap bugs wrt midi notes.
2015-06-11 01:36:34 +10:00
801af5df9e Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side) 2015-06-09 13:18:42 +01:00
e0fcd18ec6 fix duplicate inc/decrement in AutoSpin? 2015-06-02 01:01:23 +02:00
4dd5b184c8 NOOP, fix whitespace 2015-06-02 01:01:23 +02:00
86f56de656 fix the cairo-fletcher-fluctuation
CF reports occasional “rendering icon 1 at size 1 x 1” 
always followed by “rendering icon 1 at size 21 x 21”. 
 
Probably a GTK bug with some specific version of GTK.
2015-05-31 19:40:04 +02:00
f9abce03a9 Add some newly introduced sources to our MSVC project (gtkmm2ext) 2015-05-27 10:21:21 +01:00
78ba915fc1 Gtkmm2ext::ArdourIcon::render() is needed outside of libgtkmm2ext (so let's make it exportable) 2015-05-27 10:11:34 +01:00
d3df99e22e more pixel rounding (small range icon) 2015-05-26 19:25:47 +02:00
45313f329f icon pixel compatibility
Ensure that relevant lines always end up on a pixel
(regardless of scaling).
2015-05-26 02:45:35 +02:00
e991688e1f refactor vector icon drawing 2015-05-26 00:52:06 +02:00
d2e4054a65 a go at a pixel-compatible vector “hand” icon.
..and some related ArdourIcon changes.
2015-05-25 04:42:58 +02:00
77220a745c prepare Tool Icons (unused IDs) 2015-05-25 03:28:17 +02:00
d80d34f8dc vectorize TAV expand and shrink icons 2015-05-25 00:25:28 +02:00
ab6a035076 construct vectorized Zoom Icons 2015-05-24 23:09:13 +02:00
1515ea69ec introduce some lazyness 2015-05-24 23:06:49 +02:00
1be75b7bfe NOOP, amend 3173246 comments and whitespace 2015-05-24 21:54:21 +02:00
31732462c7 migrate ArdourButton Icon rendering to Gtkmm2ext.
part one: add new API
2015-05-24 21:44:27 +02:00
nick_m
e8a0b1c514 Swap default snap modifiers (non-OSX) to avoid potential upgrade pain.
- Disable snap now defaults to alt
	- Snap absolute now defaults to alt-windows
2015-05-24 05:50:31 +10:00