13
0
Commit Graph

778 Commits

Author SHA1 Message Date
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
nick_m
119c644dc0 Document snap_delta modifier mask. 2015-05-23 23:41:26 +10:00
nick_m
5d176eefa6 Make the prefs less squashed looking, add another entry for OSX modifiers.
- Defaults are probably still wrong, but at least they are actual
	keys.
2015-05-21 23:47:32 +10:00
nick_m
186736043c Move ui-centric modifiers into ArdourKeyboard, set some bad defaults.
- Also makes "Mod4" Appear as "Windows" and adds new combination
	"Alt-Windows" to the dropdown.
	- Attempt to set a pair of default snap modifiers (without
	knowing what it actually is for OSX)
	- Copy modifier now saves
	- Snap modifier modifier problem still remains.
2015-05-21 05:32:23 +10:00
nick_m
ae0759ae88 Allow all drag -related modifiers to be set, re-instate "jump after trim"
- Copy modifier still doesn't save
	- Testers please edit the Extra section of ~/.ardourN/config to allow
	defaults to "take"
	- Note that the current defaults overlap.
	- warning - absolute snap modifier has no default and will be always
	"on" unless you set it!
2015-05-21 01:30:57 +10:00
nick_m
66221d1dea Add more modifier preferences.
Note that no defaults are set - go to prefs->user interaction to
	ensure that nothing is set to "no modifer"

	also - the copy modifier doesn't actually save its state yet.
2015-05-20 04:00:04 +10:00
nick_m
0d8a331bca Remove some debugging. 2015-05-19 03:29:22 +10:00
nick_m
aac167a19f "Lock" mode is now "Constrained", make snap absolute modifier configurable.
- user can abs/rel modifier key in prefs->user interaction
	  suggested for linux - absolute->alt ignore snap->alt-shift
	- Constrained mode works the same as button 2 drag (initial move
	  sets constraint axis).
2015-05-18 06:25:36 +10:00
198c4d1d88 gfx-card & performance testing 2015-05-02 04:54:59 +02:00
fd76f87ae1 Revert API to explicitly show tooltips:
gdk pointer grab offers a better solution.
2015-04-25 05:37:37 +02:00
d40ad1f6ff fixup stuck persistent tooltips. 2015-04-25 03:00:57 +02:00
7565ebd4ed API to set tooltip y-margin 2015-04-25 01:16:39 +02:00
a33cc51176 tweak persistent tooltip:
* don’t show empty tooltips
* “smaller” widgets may receive a leave event before the timeout
can show the tooltip (knobs in particula)
2015-04-25 01:02:53 +02:00
nick_m
35f69656e8 Window focus handling fixes.
Many windows were not getting key events.
Use magic focus infrastructure (built for widgets) to deliver key events
via window focus in/out.
2015-04-02 02:41:49 +11:00
36140d4d01 updated i18n files from ./waf i18n 2015-03-31 20:16:25 -04:00
e03882eec7 Update Russian translation 2015-03-30 09:19:00 -05:00
Edgar Aichinger
2d0adea86e update German Translation #6213 2015-03-30 09:18:59 -05:00
Raphaël Doursenaud
6bfeb54168 Merge French translations 2015-03-28 23:35:11 +01:00
Frédéric Rech
71a32919a0 French translation update 2015-03-28 21:05:43 +01:00
Raphaël Doursenaud
e5422f3617 First pass updating french translation 2015-03-28 21:04:16 +01:00
4c2ea510e3 add API to query Gtk::ComboBoxText entries
..the overly complex C++ style variant.
iterate twice..  hell yeah.
2015-03-16 14:38:21 +01:00
83babb8a52 automatic error log window popup be gone. 2015-03-14 18:28:36 +01:00
nick_m
03160ee182 Tearoff windows are utility windows rather than toolbars. 2015-03-10 03:58:00 +11:00
7152634104 set name of GUI event loop thread 2015-02-05 16:31:59 -05:00
de85bfd857 fix #6117 - fader prelight 2015-01-28 02:22:52 +01:00
cab01bac6c on OS X, do not require click to activate the application 2015-01-26 11:55:58 -05:00
bd3643a597 fix declaration of Cocoa NSApplicationDelegate methods 2015-01-25 12:52:26 -05:00
4166b05bda Fix setting command key bindings on OSX. 2015-01-14 20:31:38 -05:00
0367aa5825 remove cruft (old unused pre-git version files) 2015-01-09 06:11:57 +01:00
246a4f3018 correct install location for .mo files (i18n) and cleanup LOCALEDIR use a bit 2014-12-09 08:19:11 -05:00
587dc283ea Fix stuck faders on very fine adjustments.
I attempted to preserve the "don't draw unless different" by ditching rounding for more
precise display_span, but that didn't work.  An alternative solution would be
to draw on adjustment change if there's text, since then we need to redraw
regardless of slider position, but it seemed weird even just with respect to
the slider, so I opted for this, which really definitely redraws when the
adjustment changes, period.

If this proves to be a performance issue we'll have to figure that out.
2014-12-05 15:19:43 -05:00
0c7dd82239 exclude fader-reserve from range 2014-12-01 17:45:27 +01:00
272c93db12 CLA approved consistent fine-grained scale modifier 2014-11-30 21:27:31 +01:00
18efe8f446 consistent step+page sizes for fader+spinbox 2014-11-30 15:05:40 +01:00
c77f4b7a18 don't move faders on click.
for one, it can mess up the value when switching to
numeric-entry. It is also rather useless and not
Fader-like (faders are not scrollbars).
Besides, "stepvalue" is way to large and causes jumps
(sometimes step-value is even negative, see
"fast lookahead limiter", "release time"
 -> some other bug)
2014-11-29 17:31:41 +01:00
16947f751b Remove dead code. 2014-11-27 04:17:15 -05:00
ea5876b836 Remove dead code. 2014-11-25 02:11:44 -05:00
976a150e6b Remove obviously dead/redundant code. 2014-11-18 02:55:03 -05:00
6b3a8915f3 add abort() to non-reached code
This cleans up a lot of false-positives in static analysis
and also helps compilers to optimize code paths in general.
(tagging the fatal stingstream operator as ‘noreturn’ is
far less trivial)
2014-11-14 11:30:08 +01:00
bb4e3a2916 add Gtkmm2ext::event_inside_widget_window() 2014-11-02 08:57:47 -05:00
b6d8805961 properly initialize variable (amend cffd18d2d8) 2014-11-02 02:50:28 +01:00
cffd18d2d8 implement spin-button internal<>interface bridge
Widgets were written to use "[User] Interface" values, but the
spinbutton in a Bar-controller should allow to directly access
the "Internal Value".
2014-11-01 18:24:31 +01:00
049c11de58 Slider Controller API Change
Prepare to allow BarController (with Spinbutton) to translate
internal/interface values for the SpinBox.

(The change is irrelevant for the fader/slider itself which
always use the [user-]interface value)
2014-11-01 18:22:29 +01:00
002ebcc4ea increase fine grained control (Ctrl+Alt+[drag|scroll]) 2014-11-01 07:27:35 +01:00
973d40e3ac Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
dc39448a22 turn pixfader into a cairowidget 2014-10-28 02:18:46 +01:00
b04414d170 allow to use cairo-image/software surface for canvas & cairowidgets 2014-10-28 02:15:10 +01:00
e02efddb21 skip meter re-draw when no pixels are changed. 2014-10-25 17:28:14 +02:00
9239a49a32 Add some newly introduced source files to our MSVC project (gtkmm2ext) 2014-10-24 18:45:53 +01:00
2bc3ec6ab3 add new Gtk2mmext::EmScale class for measuring font-based sizing 2014-10-23 13:21:04 -04:00
ceff2e3a62 plugin widgets were written to use Internal values, so use that for now 2014-09-18 17:25:11 -05:00
9be64f2648 add a focus handling callback so that all button press events on CairoWidgets will cause a focus reset. 2014-09-16 12:42:39 -04:00
e5a20e1f9e Add 2 new source files to our 'gtkmm2ext' project (MSVC) 2014-09-13 09:56:58 +01:00
e3d063004b add required visibility macros to Gtkmm2ext::CursorInfo 2014-09-12 14:33:36 -04:00
01974b5769 API flush static cairo pattern cache
(should probably be cleaned regularly
e.g. meterbridge resize)
2014-09-11 19:30:33 +02:00
7449de6e8f fix/improve/test hotspot file parsing 2014-09-10 19:39:52 -04:00
13cd2110e6 add copyright header comments 2014-09-10 18:50:58 -04:00
90059a9504 move CursorInfo members into public access 2014-09-10 18:38:30 -04:00
c4f7aae7d5 add new (mostly) static class to permit lookup of cursor image hotspots 2014-09-10 16:50:10 -04:00
e60f03c54c fix scoomer scroll-wheel max value 2014-09-09 14:35:06 +02:00
1c6c3514ba don't start track-resize on scroomer click 2014-09-08 18:43:28 +02:00
d68275cefc one less annoying compiler warning. 2014-09-06 21:18:08 +02:00
d63a4edfbf pass-though PixFader tweaks API for scroll events 2014-09-06 12:46:03 +02:00
6af935a3b8 updated .po files 2014-09-04 22:24:41 -04:00
48a851011b add pixfader tweaks API:
* change API to hide unity/default value line
* allow to override vertical scroll [1]
* allow changing button event forwarding [2]

[1] override scrolling in track-headers
[2] dbl-click is needed for BarControllers -> switch to SpinBtn
    but a plain Slider on a track-header should not forward
    these events to the TAV (they may trigger name-edit)
2014-09-05 02:24:19 +02:00