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