Commit graph

7127 commits

Author SHA1 Message Date
Ben Loftis
2cc25a9d79 add scroll wheel handler to canvas 2014-06-24 10:33:28 -05:00
Paul Davis
f147846863 add ability to save current action sensitivities and restore them, and to disable all action sensitivity.
This is needed to be able to lock the application fully on OS X, where the global menu bar would still allow interaction
even when a modal dialog is displayed.
2014-06-24 09:56:16 -04:00
Robin Gareus
5b5e8df627 fix f6aaa16 (boost shared pointer) 2014-06-24 01:09:12 +02:00
Paul Davis
199ac89d40 return of the zero line 2014-06-23 15:24:08 -04:00
Paul Davis
a743e68a0c revert drawing of rectified waves back to previous approach since it (might be) slightly more efficient and is simpler to understand; add comments 2014-06-23 15:12:30 -04:00
Paul Davis
437099fff9 completely rethink waveform rendering (again)
There are 3 possible components to draw at each x-axis position: the waveform "line", the zero line and an outline/clip indicator.
We have to decide which of the 3 to draw at each position, pixel by pixel. This makes the rendering less efficient but it is
the only way I can see to do this correctly.
2014-06-23 14:57:55 -04:00
Paul Davis
71c417948e fix logic error that meant one side of the waveform outline is not drawn; draw zero line before outline, for better effects with low amplitude waves 2014-06-23 10:06:59 -04:00
Robin Gareus
07fafac36e don't let enumerated device list strings go out of scope. 2014-06-23 12:16:35 +02:00
Robin Gareus
fb51bdb892 statically allocate midi-options
fixes possible segfault when the data in the vector
goes out of scope due to RVO.
2014-06-23 11:56:58 +02:00
Paul Davis
c13b74cd76 when exporting regions, use ::legalize_for_path() on the playlist name so that filenames are legal.
Also, use Glib::build_filename() rather than hardcoding / as the separator. How did this escape the search for this error?
2014-06-22 21:58:16 -04:00
Robin Gareus
f6aaa1660b en/disable internal send+returns with tracks en/disable. 2014-06-23 00:48:47 +02:00
Robin Gareus
14c6dfab07 Do not allow to de/activate a track while the transport is rolling.
roll_delay and latency are only re-calculated when the transport is stopped.
de/activating a track is also not RT-safe.
2014-06-22 23:18:00 +02:00
Robin Gareus
16ffff10cd ALSA-backend: dedicated Midi-Buffer n-periods (only use for HW output) 2014-06-22 18:28:24 +02:00
Paul Davis
6a5d805b38 more canvas refactoring.
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-06-22 11:41:05 -04:00
Paul Davis
f0933bf005 add missing new files for canvas redesign 2014-06-22 09:53:14 -04:00
Paul Davis
ff46a3c3a2 Merge branch 'canvasredesign' into cairocanvas 2014-06-22 09:34:39 -04:00
Paul Davis
99f9b3456a explicitly qualify cast to ArdourCanvas::Container so that it works.
I assume that gcc is failing to complain about ambiguity with Gtk::Container even though there should
really be no ambiguity
2014-06-22 09:29:16 -04:00
John Emmas
88caf84b81 Rename all 3 backends for the MSVC sln file 2014-06-22 13:29:17 +01:00
John Emmas
436302fd16 Rename dummy backend to match Tim's name 2014-06-22 13:11:59 +01:00
John Emmas
f46a1508d9 Rename jack backend to match Tim's name 2014-06-22 12:53:13 +01:00
John Emmas
07b71fd005 Rename waves backend to match Tim's name 2014-06-22 12:51:43 +01:00
Paul Davis
a8bd6ecc4f refactor Canvas so that all Items have children; add Container abstract base class; rename Group as "Layout" and retain only drawing semantics 2014-06-21 11:43:42 -04:00
Robin Gareus
6648074a13 virtual abstraction of Alsa Raw+Seq 2014-06-21 13:51:46 +02:00
Robin Gareus
5e436fc8fc prepare ALSA sequencer 2014-06-21 11:51:11 +02:00
Robin Gareus
359a968e61 alsa sequencer device/port listing 2014-06-21 11:51:11 +02:00
Robin Gareus
8c8928a99c no more stack smashing, renice debug messages 2014-06-19 19:44:15 +02:00
Robin Gareus
bc67e47048 rework raw-midi drain strategy (workaround for sync devices) 2014-06-19 19:44:14 +02:00
Robin Gareus
157161e482 fix port-unregister (on failed latency measurement) 2014-06-19 19:44:14 +02:00
John Emmas
592654936e Remove (no longer needed) sources from an MSVC project 2014-06-19 11:49:51 +01:00
John Emmas
126ef72d05 Move the definition for 'strtok_r' (to avoid clashing with a different definition in pthread_win32) 2014-06-19 11:47:49 +01:00
Paul Davis
c1045881dd if we're not going to notify parents of bbox changes while an item is hidden, we need to remind it when the item is hidden or shown 2014-06-18 21:02:30 -04:00
Paul Davis
36a34dc1a4 Merge branch 'canvas_tweaks' of https://github.com/nmains/ardour into cairocanvas 2014-06-18 11:20:10 -04:00
Paul Davis
becf857f48 a whole slew of changes related to centralizing and rationalizing cursor management.
Debugging output left in place to help address the reports that will come in as people test this more
2014-06-18 10:24:59 -04:00
nick_m
0bd17ed2e4 Canvas tweaks.
* Only queue a draw for changed items that are set visible and in-window.
2014-06-19 00:06:32 +10:00
Paul Davis
47efeb9f21 Merge branch 'cache_fixes' of https://github.com/nmains/ardour into cairocanvas 2014-06-17 11:35:13 -04:00
Paul Davis
93bc93b6f6 a set of 3 fixes that cure Canvas::Text leaving dirty pixels when being dragged. or might not - testing is non-deterministic, which is alarming 2014-06-17 11:34:54 -04:00
Paul Davis
f98e0a0707 use a different approach for indicating expose rects (from robin gareus). #ifdef'd out by default 2014-06-17 11:34:54 -04:00
Robin Gareus
b4dd5b737f prepare midi-latency measurement using sysex messages 2014-06-17 16:19:59 +02:00
nick_m
b31608f64e Cache entries are now region colour aware. 2014-06-18 00:16:51 +10:00
Tim Mayberry
3aa2a4ac8c Remove PathScanner class from libpbd 2014-06-17 21:43:30 +10:00
Tim Mayberry
547689a055 Replace all use of PathScanner with equivalent functions from pbd/file_utils.h 2014-06-17 21:41:29 +10:00
Tim Mayberry
cb6934a189 Remove unused header includes 2014-06-17 21:30:51 +10:00
Tim Mayberry
26285a3bc0 Add default arguments to match those in PathScanner::operator() 2014-06-17 21:29:41 +10:00
Tim Mayberry
dc81ab8640 Move member functions from PathScanner to functions in pbd/file_utils.h
This allows us to remove PathScanner source file and keep PathScanner class
as header only until it is removed
2014-06-17 21:19:02 +10:00
Tim Mayberry
ea5f9a8ea6 Move PathScanner::operator() into header 2014-06-17 21:14:13 +10:00
Tim Mayberry
b457c938cd Remove unused methods in PathScanner
Now that these methods are only a few lines it doesn't make much sense
to keep them seeing as they are unused. There are also functions with
near identical functionality in pbd/file_utils.h
2014-06-17 21:14:03 +10:00
Tim Mayberry
cde8776e80 Rename PathScanner::run_scan_internal to PathScanner::find_files_matching_filter 2014-06-17 21:13:50 +10:00
Tim Mayberry
3066bd48da Remove PathScanner::run_scan and use PathScanner::run_scan_internal directly 2014-06-17 21:13:41 +10:00
Tim Mayberry
f54092dada Add PathScanner::find_files_matching_regex and move regexp usage to one place 2014-06-17 21:13:32 +10:00
Tim Mayberry
f220d01132 Remove member filter argument from PathScanner methods and use normal filter for regex
Also use regfree to free memory of compiled patterns
2014-06-17 21:13:16 +10:00