13
0
Commit Graph

7022 Commits

Author SHA1 Message Date
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
5b5e8df627 fix f6aaa16 (boost shared pointer) 2014-06-24 01:09:12 +02:00
199ac89d40 return of the zero line 2014-06-23 15:24:08 -04:00
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
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
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
07fafac36e don't let enumerated device list strings go out of scope. 2014-06-23 12:16:35 +02:00
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
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
f6aaa1660b en/disable internal send+returns with tracks en/disable. 2014-06-23 00:48:47 +02:00
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
16ffff10cd ALSA-backend: dedicated Midi-Buffer n-periods (only use for HW output) 2014-06-22 18:28:24 +02:00
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
f0933bf005 add missing new files for canvas redesign 2014-06-22 09:53:14 -04:00
ff46a3c3a2 Merge branch 'canvasredesign' into cairocanvas 2014-06-22 09:34:39 -04:00
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
88caf84b81 Rename all 3 backends for the MSVC sln file 2014-06-22 13:29:17 +01:00
436302fd16 Rename dummy backend to match Tim's name 2014-06-22 13:11:59 +01:00
f46a1508d9 Rename jack backend to match Tim's name 2014-06-22 12:53:13 +01:00
07b71fd005 Rename waves backend to match Tim's name 2014-06-22 12:51:43 +01:00
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
6648074a13 virtual abstraction of Alsa Raw+Seq 2014-06-21 13:51:46 +02:00
5e436fc8fc prepare ALSA sequencer 2014-06-21 11:51:11 +02:00
359a968e61 alsa sequencer device/port listing 2014-06-21 11:51:11 +02:00
8c8928a99c no more stack smashing, renice debug messages 2014-06-19 19:44:15 +02:00
bc67e47048 rework raw-midi drain strategy (workaround for sync devices) 2014-06-19 19:44:14 +02:00
157161e482 fix port-unregister (on failed latency measurement) 2014-06-19 19:44:14 +02:00
592654936e Remove (no longer needed) sources from an MSVC project 2014-06-19 11:49:51 +01:00
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
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
36a34dc1a4 Merge branch 'canvas_tweaks' of https://github.com/nmains/ardour into cairocanvas 2014-06-18 11:20:10 -04:00
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
47efeb9f21 Merge branch 'cache_fixes' of https://github.com/nmains/ardour into cairocanvas 2014-06-17 11:35:13 -04:00
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
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
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
3aa2a4ac8c Remove PathScanner class from libpbd 2014-06-17 21:43:30 +10:00
547689a055 Replace all use of PathScanner with equivalent functions from pbd/file_utils.h 2014-06-17 21:41:29 +10:00
cb6934a189 Remove unused header includes 2014-06-17 21:30:51 +10:00
26285a3bc0 Add default arguments to match those in PathScanner::operator() 2014-06-17 21:29:41 +10:00
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
ea5f9a8ea6 Move PathScanner::operator() into header 2014-06-17 21:14:13 +10:00
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
cde8776e80 Rename PathScanner::run_scan_internal to PathScanner::find_files_matching_filter 2014-06-17 21:13:50 +10:00
3066bd48da Remove PathScanner::run_scan and use PathScanner::run_scan_internal directly 2014-06-17 21:13:41 +10:00
f54092dada Add PathScanner::find_files_matching_regex and move regexp usage to one place 2014-06-17 21:13:32 +10:00
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
0e96d84079 Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks 2014-06-17 21:13:05 +10:00
e426c603b6 remove debug output 2014-06-16 23:58:52 +02:00
019e987944 more alsa-midi debugging 2014-06-16 22:08:52 +02:00
43db6fd97e more midi latency detection debugging 2014-06-16 20:22:31 +02:00
fbe359e8c7 debug alsa midi latency measurement 2014-06-16 19:44:23 +02:00
a96036e3af fix typo in comment of prev. commit 2014-06-16 00:55:26 +02:00
c8fd1d26eb fix region un/combine, based on a patch by Tom Brand 2014-06-16 00:51:45 +02:00
c7c3c1e924 another edge-case, don't crash on invalid files with zero channels 2014-06-15 21:07:19 +02:00
443ccb866f fix edge case - handle error in device owner request 2014-06-15 21:07:19 +02:00
4651530d6f ARD: proper cleanup 2014-06-15 21:07:19 +02:00
8050712503 comment correction regarding Canvas::visible_area() 2014-06-15 12:18:47 -04:00
dae45f1d75 initialize _scroll_parent in Canvas::item 2014-06-15 12:17:12 -04:00
6c6afa4ecf optimize midi delayline. 2014-06-15 16:36:13 +02:00
b0bab058d0 offset automation by latency 2014-06-15 16:21:09 +02:00
b6e81dcdae offset automation by processor latency for bouncing/freezing
the same remains to be done for general route processing
2014-06-15 16:12:50 +02:00
36be1a3a9b plug some leaks 2014-06-15 13:24:41 +02:00
69af017315 initialize uninitialized variable 2014-06-15 13:24:40 +02:00
12cf9d5be8 fix pathscanner / stl_vector related memory leaks 2014-06-15 13:24:39 +02:00
55d51d38ce Add newly introduced sources to our MSVC projects 2014-06-15 09:56:49 +01:00
e59210c402 Remove no longer needed sources from MSVC projects 2014-06-15 09:55:34 +01:00
f7acad4e5c strtok() is the root of all evil. 2014-06-14 16:45:55 +02:00
62ba8d23e3 tracking down concurrency issus is fun. 2014-06-14 16:38:47 +02:00
ff39a42581 ALSA backend: set latencies to zero when measuring latency 2014-06-13 13:51:42 +02:00
b68552d9a0 send-delayline: proper debug output (and sort includes on the way) 2014-06-13 13:51:42 +02:00
ecb92f474f update ALSA backend, MIDI device config 2014-06-13 12:02:03 +02:00
da912f7ed4 add AudioEngine API to configure individual MIDI devices 2014-06-13 11:47:51 +02:00
5abf3624f4 Use Ardour 3 credentials for soundcloud upload
I registered 'Ardour 3' as an app with Soundcloud - here are the
client_id and client_secret I got back. Probably the client_secret
shouldn't be here - I'll try to understand what should really happen and
fix this up in due course. Probably we should be using OAuth.

Also remove a couple of bits of dead code and fix a few whitespace
oddities.
2014-06-12 23:20:06 +01:00
f0dbd6c085 Export dialog: tidy code, & remove some superfluous debug output
Remove some debug output, tidy up a few whitespace inconsistencies, use
DEBUG::Soundcloud in one more place, and zap a couple of unused variables.
2014-06-12 23:20:05 +01:00
70308f5174 Post-export hook tweaks
Remove the Soundcloud username & password from the parameter substitutions
passed to the post-export hook: having thought about this now, I can't
actually think of a case where these are of any use at all.

In compensation, add %s and %n parameters that expand to the session
directory and name - maybe people will think of uses for these.
2014-06-12 23:20:05 +01:00
724a69a8d5 Search $PATH for command when creating SystemExec from command line
When creating a SystemExec from a command-line, search $PATH for the
command to execute, so that post-export hooks don't need to specify a full
path.
2014-06-12 23:20:05 +01:00
590882f3c8 change Canvas heirarchy and constructors
Items no longer need a parent group (they require a Canvas pointer instead), so all constructors have been rationalized
and have two variants, one with a parent and one with a canvas.

All Items now inherit from Fill and Outline, to banish diagonal inheritance and virtual base classes and all that.

There were zero changes to the Ardour GUI arising from these changes.
2014-06-12 14:53:44 -04:00
23d7893910 remove drag handle canvas object - it was just a stupid unfinished experiment 2014-06-12 10:40:43 -04:00
87a6f633a1 derive ArdourCanvas::Ruler from Rectangle 2014-06-12 10:35:16 -04:00
e1825361b5 remove hard-coded colors 2014-06-12 01:07:58 -04:00
143f9509ea many fixes and improvements for a now-working ArdourCanvas::Ruler item 2014-06-11 23:54:28 -04:00
f5fc4a6b09 add ruler.cc to canvas wscript 2014-06-11 23:54:28 -04:00
2cab65062d add Ruler to Canvas fwd.h 2014-06-11 23:54:28 -04:00
5ee4f41925 add initial (untested) implementation of canvas ruler item 2014-06-11 23:54:28 -04:00
e1b82caeb9 delayline: properly hand-over the shared-pointer. 2014-06-12 02:10:37 +02:00
266953cb96 add latency callback to dummy backend 2014-06-11 22:01:21 +02:00
b6362a76a8 fix possible crash when setting delivery name w/o panshell 2014-06-11 20:21:14 +02:00
6003aea385 NOOP, re-indent using tabs 2014-06-11 17:14:31 +02:00
4d0e564fa7 align internal sends using delaylines 2014-06-11 17:14:26 +02:00
ca3c9cae6e basic integration of delaylines (still un-nused) 2014-06-11 17:14:18 +02:00
626b2daa82 add delayline implementaion (in prep for latency compensation) 2014-06-11 16:31:29 +02:00
621e92f268 NOOP, re-indent & whitespace 2014-06-11 16:27:30 +02:00
33db3c854d prepare midi buffer API for midi-delaylines 2014-06-11 16:27:23 +02:00
0400fa64da fix midi buffer erase() 2014-06-11 16:26:27 +02:00
107e0d6d02 fix crash recovery: add new constructors to SndFileSource, AudioFileSource, add a new SourceFactory method and finally tweak
AudioDiskstream::use_pending_capture_data() to create both the required whole-file and the in-playlist regions
2014-06-10 10:07:04 -04:00
438179d278 wrap MIDI timecode at 24h 2014-06-10 04:22:34 +02:00
c0376fe7b3 really fix sending MIDI timecode. 2014-06-10 04:12:08 +02:00