Commit Graph

7405 Commits

Author SHA1 Message Date
Robin Gareus baea04713f combine short periodic timeout functions for windows.
Fixes excessive CPU usage (spinlock instead of sleep/WaitForSingleObject)

MS Windows has a scheduler time-slice of 15ms.
Ardour has two fast timeout functions: The FPS timeout (20-60Hz, clock
video-monitor) and a fast-screen-update (25Hz, meters etc).
They are loosely coupled (async) and scheduled from the main application
thread (gtk main).

Since they're async, gtk schedules them as needed. Even though the actual
period of the separate timeouts is larger. The effective period between
all timeout callbacks is <15ms and the main application thread never idles.
2014-10-25 19:21:15 +02:00
Paul Davis f900711136 port changes to ARDOUR::Location and ARDOUR::Locations APIs from Tracks to Ardour.
Fixes deadlocks caused by mutex on Locations list, and clarifies the purposes and uses of the class-level and
object-level change-related signals.
2014-10-24 12:18:46 -04:00
Robin Gareus a7ca603ab6 show meter-bridge context-menu on mouse-down 2014-10-23 14:45:54 +02:00
Robin Gareus c5e97ea21b Don't show meter-type menu for MIDI-only meters 2014-10-23 14:45:49 +02:00
Robin Gareus 730e09ce65 another round of compiler warning fixes 2014-10-23 05:31:40 +02:00
Robin Gareus ca48fffd72 avoid name conflict with Note (gtk2_ardour/note.h) 2014-10-23 03:43:04 +02:00
Robin Gareus c6a3d6bc48 small round of compiler warning fixes 2014-10-23 03:43:04 +02:00
Paul Davis 5ff0c6b319 prevent negative playhead positions from entering code via serialized state 2014-10-22 17:07:11 -04:00
Robin Gareus aa7fdf82a0 windows: allow loading session with absolute path 2014-10-22 15:22:55 +02:00
Robin Gareus 1428d003df hide splash screen on Windows
..until we get GDK window stack to play along.
2014-10-22 14:30:11 +02:00
Paul Davis ba4d1cd1c1 remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config() 2014-10-21 22:58:58 -04:00
Ben Loftis 90df6f3fe6 some keyboard layouts have KP_Separator instead of KP_Decimal 2014-10-21 16:36:15 -05:00
Paul Davis 65821f96b8 slightly closer to correct color for peak display button when not active.
This cannot be correct at present because all buttons get a fade applied to them.
2014-10-21 17:26:52 -04:00
Paul Davis 7f15aaf0cf set correct font for peak display button 2014-10-21 17:26:21 -04:00
Paul Davis 00f604019d add ::set_layout_font (const Pango::FontDescription&) to ArdourButton 2014-10-21 17:25:50 -04:00
Paul Davis 58f7d02bf2 change the peak display widget from Gtkmm2ext::FocusEntry to ArdourButton, since it is absolutely not editable.
This adds a new button name and corresponding colors in default_ui_config which requires a theme reset
2014-10-21 16:01:31 -04:00
Paul Davis b2a183d4b7 a few tweaks to zoom computations so that zoom-to-range works correctly 2014-10-21 14:48:45 -04:00
Paul Davis b73f725676 remove mouse zoom mode; bind z to zoom-to-range 2014-10-21 12:47:53 -04:00
Paul Davis 46f5c0c769 fix note 15897 on #5589 - only use fader cursor for region gain line when in mouse gain mode 2014-10-21 11:50:06 -04:00
Paul Davis c2ae228dd3 add mouse mode enums to enums.cc (just for utility purposes) 2014-10-21 11:49:27 -04:00
Robin Gareus f369208334 Disallow midi-note duration changes beyond region boundaries
Fixes crash/assert with negative Beats.

TODO discuss alternative:
 automatically extend/trim region (if possible) or
 accept but hide notes that are out of bounds. That would need
 some solution for ghost notes which still can have negative Beats
 while dragging.
2014-10-21 15:48:11 +02:00
Robin Gareus 4cde08cdb8 fix midi-ghost region y-scale 2014-10-21 14:05:41 +02:00
Robin Gareus 58fec98a4d fix track height resizing on OSX.
If the transport is running, g_idle with G_PRIORITY_DEFAULT_IDLE is
never called.

TODO: check other g_idle functions in libs/gtkmm2ext
2014-10-21 13:20:17 +02:00
Robin Gareus 31b033f0d2 fix region drag/drop from region list
The canvas’ Y-offset (rulers & scroll) needs to be subtracted here.
2014-10-21 11:46:15 +02:00
Robin Gareus 148c1f1768 fix stuck key-grab/scrolling.
Problem: mouse-scrolling over a MIDI region in internal edit mode
never released “magic widget focus” (mod keys and global scrolls after
that were ignored). -> added to leave_notify.

Also, the MouseModeChanged signal needs to be emitted when internal edit,
mode changes in order to trigger MidiRegionView::mouse_mode_changed(), 
which in turn releases the magic focus while still hovering over a MIDI
region.
2014-10-21 11:07:53 +02:00
Robin Gareus a9532179d5 Midi Region: pass unhandled scroll events to regionview
see note in MidiRegionView:📜 “allow PrimaryModifier scroll
through so that it still works for zoom.”
2014-10-21 11:01:28 +02:00
Robin Gareus a1245de1ba track height fixes:
* retain [custom] track-height
  Editor::override_visible_track_count() is called repeatedly (for
  every change), there was a 50/50 chance of it saving the right value.

* adjust default for new sessions: use “Normal” track height until
  told otherwise.
2014-10-20 20:33:28 +02:00
Robin Gareus ffde2fb5f9 OS 10.10 compile fixes
* fix clang pickiness regarding boolean
 * ignore ‘verify’ macro
 * tested with Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
2014-10-19 23:15:13 +02:00
Robin Gareus d34bd9e6a0 fix midi automation sliders
Allow controls to work without a list. see also 34c1465 and b469cd2
2014-10-16 21:21:45 +02:00
Paul Davis 8d8717800d add tearoff reattach for the editor 2014-10-16 13:44:36 -04:00
Paul Davis 8097b8c762 add action and menu entry for "reattach all tearoffs".
So far only does the transport tearoff
2014-10-16 13:44:36 -04:00
Robin Gareus fd79656d60 remove duplicate windows includes 2014-10-16 11:51:47 +02:00
Paul Davis ad017365f7 Merge branch 'cairocanvas' 2014-10-16 05:12:52 -04:00
Robin Gareus e250eb5525 forward port ffd5c24 from master (extend video file ext list) 2014-10-16 01:16:07 +02:00
Paul Davis f77f54a6e2 correct msg in fatal error 2014-10-14 12:57:39 -04:00
Paul Davis 128b240f46 remove code commented out in 0874426a (2009/06) 2014-10-14 12:56:28 -04:00
Paul Davis fc08e10562 fix note 0015914 (part of #5589) 2014-10-13 21:02:20 -04:00
Paul Davis 4d0f30f5a8 fix note 0015900 on #5589 (cursor doesn't change when switching edit point 2014-10-13 15:19:07 -04:00
Robin Gareus 7ea039ee91 add script to run vst-scanner in gdb 2014-10-11 21:00:59 +02:00
Robin Gareus e19e6dc73a amend 5d0303b - fix editor summary leak 2014-10-11 13:36:52 +02:00
Robin Gareus 5d0303b851 fix memory leak in editor summary. 2014-10-10 16:18:03 +02:00
Robin Gareus ac420ba87d amend previous commit
blame gitx 0.15.1949: it updates the stage view
even though the changes are not staged.
2014-10-10 15:24:52 +02:00
Robin Gareus 3121f5b2fc add script to run ardour in valgrind/massif 2014-10-10 15:03:26 +02:00
Robin Gareus e6252e0494 add support for OSX 10.9 clang's lldb (there's no gdb on 10.9) 2014-10-09 09:56:18 +02:00
Robin Gareus aac3ca5521 initialize some uninitialized vars - closes #5974 2014-10-08 19:16:21 +02:00
Robin Gareus a7da906a79 NOOP, proper label for flat carbon header includes 2014-10-07 16:53:10 +02:00
Robin Gareus aab64ecd5c OSX 10.9.5 clang++ loves nil more than ever
#undef nil // for sigc++ compat does no longer work as expected.
2014-10-07 14:48:08 +02:00
Robin Gareus 7bfa25777b OSX 10.9.5 compile fixes - part one 2014-10-07 14:46:06 +02:00
Robin Gareus d1564669cf windows application icon 2014-10-05 02:12:25 +02:00
Robin Gareus 3f7986198b fix typo in 9034e58b1 2014-10-03 23:58:51 +02:00