ardour.git
9 years agostatically allocate midi-options
Robin Gareus [Mon, 23 Jun 2014 09:56:58 +0000 (11:56 +0200)]
statically allocate midi-options

fixes possible segfault when the data in the vector
goes out of scope due to RVO.

9 years agofor backends w/o control, save a fake state with only the "active" attribute.
Robin Gareus [Mon, 23 Jun 2014 02:26:53 +0000 (04:26 +0200)]
for backends w/o control, save a fake state with only the "active" attribute.

This makes ardour start directly with external jack without asking if jack
was previously used. It also retains jackd settings if jackd was previously
started by ardour.

9 years agowhen exporting regions, use ::legalize_for_path() on the playlist name so that filena...
Paul Davis [Mon, 23 Jun 2014 01:58:07 +0000 (21:58 -0400)]
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?

9 years agoen/disable internal send+returns with tracks en/disable.
Robin Gareus [Sun, 22 Jun 2014 22:48:47 +0000 (00:48 +0200)]
en/disable internal send+returns with tracks en/disable.

9 years agoDo not allow to de/activate a track while the transport is rolling.
Robin Gareus [Sun, 22 Jun 2014 21:16:32 +0000 (23:16 +0200)]
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.

9 years agobutton click (release, to be precise) within the canvas drop zone cancels all object...
Paul Davis [Sun, 22 Jun 2014 19:24:11 +0000 (15:24 -0400)]
button click (release, to be precise) within the canvas drop zone cancels all object and track selections

9 years agofix latency-measurement dialog back-button.
Robin Gareus [Sun, 22 Jun 2014 16:21:10 +0000 (18:21 +0200)]
fix latency-measurement dialog back-button.

9 years agoALSA-backend: dedicated Midi-Buffer n-periods (only use for HW output)
Robin Gareus [Sun, 22 Jun 2014 16:20:22 +0000 (18:20 +0200)]
ALSA-backend: dedicated Midi-Buffer n-periods (only use for HW output)

9 years agomore canvas refactoring.
Paul Davis [Sun, 22 Jun 2014 15:41:05 +0000 (11:41 -0400)]
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.

9 years agoadd missing new files for canvas redesign
Paul Davis [Sun, 22 Jun 2014 13:53:14 +0000 (09:53 -0400)]
add missing new files for canvas redesign

9 years agoMerge branch 'canvasredesign' into cairocanvas
Paul Davis [Sun, 22 Jun 2014 13:34:39 +0000 (09:34 -0400)]
Merge branch 'canvasredesign' into cairocanvas

9 years agoexplicitly qualify cast to ArdourCanvas::Container so that it works.
Paul Davis [Sun, 22 Jun 2014 13:29:16 +0000 (09:29 -0400)]
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

9 years agoRename all 3 backends for the MSVC sln file
John Emmas [Sun, 22 Jun 2014 12:29:17 +0000 (13:29 +0100)]
Rename all 3 backends for the MSVC sln file

9 years agoRename dummy backend to match Tim's name
John Emmas [Sun, 22 Jun 2014 12:11:59 +0000 (13:11 +0100)]
Rename dummy backend to match Tim's name

9 years agoRename jack backend to match Tim's name
John Emmas [Sun, 22 Jun 2014 11:53:13 +0000 (12:53 +0100)]
Rename jack backend to match Tim's name

9 years agoRename waves backend to match Tim's name
John Emmas [Sun, 22 Jun 2014 11:51:43 +0000 (12:51 +0100)]
Rename waves backend to match Tim's name

9 years agouse newly factored canvas in gtk2_ardour
Paul Davis [Sat, 21 Jun 2014 15:44:22 +0000 (11:44 -0400)]
use newly factored canvas in gtk2_ardour

9 years agorefactor Canvas so that all Items have children; add Container abstract base class...
Paul Davis [Sat, 21 Jun 2014 15:43:42 +0000 (11:43 -0400)]
refactor Canvas so that all Items have children; add Container abstract base class; rename Group as "Layout" and retain only drawing semantics

9 years agovirtual abstraction of Alsa Raw+Seq
Robin Gareus [Sat, 21 Jun 2014 11:51:46 +0000 (13:51 +0200)]
virtual abstraction of Alsa Raw+Seq

9 years agoprepare ALSA sequencer
Robin Gareus [Sat, 21 Jun 2014 09:50:24 +0000 (11:50 +0200)]
prepare ALSA sequencer

9 years agoalsa sequencer device/port listing
Robin Gareus [Sat, 21 Jun 2014 09:49:40 +0000 (11:49 +0200)]
alsa sequencer device/port listing

9 years agofix some confusion when redrawing editor/mixer track/strip displays after track/bus...
Paul Davis [Sat, 21 Jun 2014 01:51:59 +0000 (21:51 -0400)]
fix some confusion when redrawing editor/mixer track/strip displays after track/bus deletion

The code relied on the idea that the order-key resync that occurs after deletion would change the order keys and thus cause
a redisplay. But since both the editor and mixer can initiate an order-key resync, the other window's resync will actually
do nothing (the order keys will already be correct). This led to the incorrect placement of material in the tracks canvas,
because the first resync triggered a redisplay while the route still existed, and then the second resync didn't cause a
redisplay (repositioning) but the canvas elements representing the track went away.

Fixed by forcing a redisplay in both editor and mixer if a route deletion is believed to be triggering a row deletion
in their underlying data models.

9 years agoensure that all waveviews have ALL their colors set accurately before first render
Paul Davis [Thu, 19 Jun 2014 19:06:48 +0000 (15:06 -0400)]
ensure that all waveviews have ALL their colors set accurately before first render

Avoids occasional bright red zero line drawn because the color(s) had not been reset correctly

9 years agoexplanatory comment
Paul Davis [Thu, 19 Jun 2014 17:47:53 +0000 (13:47 -0400)]
explanatory comment

9 years agocorrect conversion of drop y-position into trackview for drag-n-drop of external...
Paul Davis [Thu, 19 Jun 2014 17:45:05 +0000 (13:45 -0400)]
correct conversion of drop y-position into trackview for drag-n-drop of external files

9 years agono more stack smashing, renice debug messages
Robin Gareus [Thu, 19 Jun 2014 17:43:13 +0000 (19:43 +0200)]
no more stack smashing, renice debug messages

9 years agolatency measurement dialog updates:
Robin Gareus [Thu, 19 Jun 2014 17:42:59 +0000 (19:42 +0200)]
latency measurement dialog updates:

* distinguish errors: no ports and no engine.
* fix "No measurement results yet" message at successful end
* stop update callback

9 years agoengine-dialog: properly restore previous active state
Robin Gareus [Thu, 19 Jun 2014 17:42:46 +0000 (19:42 +0200)]
engine-dialog: properly restore previous active state

9 years agorework raw-midi drain strategy (workaround for sync devices)
Robin Gareus [Thu, 19 Jun 2014 17:42:19 +0000 (19:42 +0200)]
rework raw-midi drain strategy (workaround for sync devices)

9 years agofix port-unregister (on failed latency measurement)
Robin Gareus [Wed, 18 Jun 2014 18:53:43 +0000 (20:53 +0200)]
fix port-unregister (on failed latency measurement)

9 years agofix non-working cmd-Q on OS X. For some reason the shenanigans related to removing...
Paul Davis [Thu, 19 Jun 2014 17:18:42 +0000 (13:18 -0400)]
fix non-working cmd-Q on OS X. For some reason the shenanigans related to removing it from various menus as part of OS X standards breaks the accel system

9 years agochange the way font specifications are used in UI config files
Paul Davis [Thu, 19 Jun 2014 15:18:37 +0000 (11:18 -0400)]
change the way font specifications are used in UI config files

If no font family is specified, enforce use of Sans to match GTK behaviour (which we inadvertently relied on, it appears)

9 years agomodifications to region drag implementation
Paul Davis [Thu, 19 Jun 2014 15:16:27 +0000 (11:16 -0400)]
modifications to region drag implementation

(1) if we're dragging over the drop zone, then x-axis motion is irrelevant for threshold-of-move
(2) store original time axis view of a dragged region so that if we create a new track with the region drag, it can be the same height

9 years agovarious fixes for places that used get_font_for_style() ... converted to use UIConfig...
Paul Davis [Thu, 19 Jun 2014 03:49:07 +0000 (23:49 -0400)]
various fixes for places that used get_font_for_style() ... converted to use UIConfiguration::get_canvasvar_*Font()

9 years agoadd bold monospace font specs to canvas_vars/ardour3_ui_default.conf
Paul Davis [Thu, 19 Jun 2014 03:48:13 +0000 (23:48 -0400)]
add bold monospace font specs to canvas_vars/ardour3_ui_default.conf

9 years agouse new canvas cursor API to manage cursors while embedding audio
Paul Davis [Thu, 19 Jun 2014 13:25:49 +0000 (09:25 -0400)]
use new canvas cursor API to manage cursors while embedding audio

9 years agofix potential crash in Editor::set_canvas_cursor() if inadvertently passed a null...
Paul Davis [Thu, 19 Jun 2014 13:25:24 +0000 (09:25 -0400)]
fix potential crash in Editor::set_canvas_cursor() if inadvertently passed a null cursor (semantics are different on OS X vs. X Window)

9 years agoRemove (no longer needed) sources from an MSVC project
John Emmas [Thu, 19 Jun 2014 10:49:51 +0000 (11:49 +0100)]
Remove (no longer needed) sources from an MSVC project

9 years agoMove the definition for 'strtok_r' (to avoid clashing with a different definition...
John Emmas [Thu, 19 Jun 2014 10:47:49 +0000 (11:47 +0100)]
Move the definition for 'strtok_r' (to avoid clashing with a different definition in pthread_win32)

9 years agochange verbose cursor font selection to use canvas variable mechanism, plus a few...
Paul Davis [Thu, 19 Jun 2014 02:48:24 +0000 (22:48 -0400)]
change verbose cursor font selection to use canvas variable mechanism, plus a few developing comment edits

9 years agomore work on cursor tracking state
Paul Davis [Thu, 19 Jun 2014 01:03:25 +0000 (21:03 -0400)]
more work on cursor tracking state

9 years agoexplanatory comment
Paul Davis [Thu, 19 Jun 2014 01:03:11 +0000 (21:03 -0400)]
explanatory comment

9 years agofix naming of selection rect-related items
Paul Davis [Thu, 19 Jun 2014 01:02:51 +0000 (21:02 -0400)]
fix naming of selection rect-related items

9 years agoif we're not going to notify parents of bbox changes while an item is hidden, we...
Paul Davis [Thu, 19 Jun 2014 01:02:30 +0000 (21:02 -0400)]
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

9 years agoSummary changes :
nick_m [Wed, 18 Jun 2014 15:52:21 +0000 (01:52 +1000)]
Summary changes :
* Use correct image format for background image
* Construct thr ImageSurface as per cairo docs
* Place start/end markers in background image
Tempo bars :
      * adjust beats display threshold to (hopefully) coincide with BBT ruler better.

9 years agoMerge branch 'canvas_tweaks' of https://github.com/nmains/ardour into cairocanvas
Paul Davis [Wed, 18 Jun 2014 15:20:10 +0000 (11:20 -0400)]
Merge branch 'canvas_tweaks' of https://github.com/nmains/ardour into cairocanvas

9 years agoa whole slew of changes related to centralizing and rationalizing cursor management.
Paul Davis [Wed, 18 Jun 2014 14:24:59 +0000 (10:24 -0400)]
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

9 years agoCanvas tweaks.
nick_m [Wed, 18 Jun 2014 14:06:32 +0000 (00:06 +1000)]
Canvas tweaks.
       * Only queue a draw for changed items that are set visible and in-window.

9 years agoMerge branch 'cache_fixes' of https://github.com/nmains/ardour into cairocanvas
Paul Davis [Tue, 17 Jun 2014 15:35:13 +0000 (11:35 -0400)]
Merge branch 'cache_fixes' of https://github.com/nmains/ardour into cairocanvas

9 years agoa set of 3 fixes that cure Canvas::Text leaving dirty pixels when being dragged....
Paul Davis [Tue, 17 Jun 2014 15:34:47 +0000 (11:34 -0400)]
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

9 years agouse a different approach for indicating expose rects (from robin gareus). #ifdef...
Paul Davis [Tue, 17 Jun 2014 15:34:10 +0000 (11:34 -0400)]
use a different approach for indicating expose rects (from robin gareus). #ifdef'd out by default

9 years agoprepare midi-latency measurement using sysex messages
Robin Gareus [Tue, 17 Jun 2014 14:15:16 +0000 (16:15 +0200)]
prepare midi-latency measurement using sysex messages

9 years agohighlight send-panner
Robin Gareus [Tue, 17 Jun 2014 13:51:49 +0000 (15:51 +0200)]
highlight send-panner

9 years agoCache entries are now region colour aware.
nick_m [Tue, 17 Jun 2014 14:16:51 +0000 (00:16 +1000)]
Cache entries are now region colour aware.

9 years agoMerge branch 'pathscanner-refactor' of https://github.com/mojofunk/ardour into cairoc...
Paul Davis [Tue, 17 Jun 2014 12:09:00 +0000 (08:09 -0400)]
Merge branch 'pathscanner-refactor' of https://github.com/mojofunk/ardour into cairocanvas

9 years agoMerge branch 'summary_background' of https://github.com/nmains/ardour into cairocanvas
Paul Davis [Tue, 17 Jun 2014 12:08:44 +0000 (08:08 -0400)]
Merge branch 'summary_background' of https://github.com/nmains/ardour into cairocanvas

9 years agoa set of inter-related subtle changes to get vertical autoscrolling to work, or at...
Paul Davis [Tue, 17 Jun 2014 12:08:07 +0000 (08:08 -0400)]
a set of inter-related subtle changes to get vertical autoscrolling to work, or at least work better.

9 years agoRender tracks and regions to a background image in the editor summary.
nick_m [Tue, 17 Jun 2014 11:44:36 +0000 (21:44 +1000)]
Render tracks and regions to a background image in the editor summary.
Connect to editor's SelectionChanged signal to display corresponding region colour change.

9 years agoRemove PathScanner class from libpbd
Tim Mayberry [Tue, 17 Jun 2014 03:29:31 +0000 (13:29 +1000)]
Remove PathScanner class from libpbd

9 years agoReplace all use of PathScanner with equivalent functions from pbd/file_utils.h
Tim Mayberry [Tue, 17 Jun 2014 11:41:29 +0000 (21:41 +1000)]
Replace all use of PathScanner with equivalent functions from pbd/file_utils.h

9 years agoRemove unused header includes
Tim Mayberry [Tue, 17 Jun 2014 02:53:12 +0000 (12:53 +1000)]
Remove unused header includes

9 years agoAdd default arguments to match those in PathScanner::operator()
Tim Mayberry [Tue, 17 Jun 2014 02:37:43 +0000 (12:37 +1000)]
Add default arguments to match those in PathScanner::operator()

9 years agoMove member functions from PathScanner to functions in pbd/file_utils.h
Tim Mayberry [Tue, 17 Jun 2014 02:16:37 +0000 (12:16 +1000)]
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

9 years agoMove PathScanner::operator() into header
Tim Mayberry [Tue, 17 Jun 2014 01:48:46 +0000 (11:48 +1000)]
Move PathScanner::operator() into header

9 years agoRemove unused methods in PathScanner
Tim Mayberry [Tue, 17 Jun 2014 01:39:04 +0000 (11:39 +1000)]
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

9 years agoRename PathScanner::run_scan_internal to PathScanner::find_files_matching_filter
Tim Mayberry [Tue, 17 Jun 2014 01:32:51 +0000 (11:32 +1000)]
Rename PathScanner::run_scan_internal to PathScanner::find_files_matching_filter

9 years agoRemove PathScanner::run_scan and use PathScanner::run_scan_internal directly
Tim Mayberry [Tue, 17 Jun 2014 01:22:52 +0000 (11:22 +1000)]
Remove PathScanner::run_scan and use PathScanner::run_scan_internal directly

9 years agoAdd PathScanner::find_files_matching_regex and move regexp usage to one place
Tim Mayberry [Tue, 17 Jun 2014 01:15:10 +0000 (11:15 +1000)]
Add PathScanner::find_files_matching_regex and move regexp usage to one place

9 years agoRemove member filter argument from PathScanner methods and use normal filter for...
Tim Mayberry [Tue, 17 Jun 2014 00:44:36 +0000 (10:44 +1000)]
Remove member filter argument from PathScanner methods and use normal filter for regex

Also use regfree to free memory of compiled patterns

9 years agoChange PBD::PathScanner API to return results by value to avoid inadvertent memory...
Tim Mayberry [Mon, 16 Jun 2014 10:39:45 +0000 (20:39 +1000)]
Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks

9 years agoremove debug output
Robin Gareus [Mon, 16 Jun 2014 21:58:52 +0000 (23:58 +0200)]
remove debug output

9 years agohide "turn down volume" label for midi-latency measurement
Robin Gareus [Mon, 16 Jun 2014 21:36:29 +0000 (23:36 +0200)]
hide "turn down volume" label for midi-latency measurement

9 years agomore alsa-midi debugging
Robin Gareus [Mon, 16 Jun 2014 20:08:52 +0000 (22:08 +0200)]
more alsa-midi debugging

9 years agomore midi latency detection debugging
Robin Gareus [Mon, 16 Jun 2014 18:22:31 +0000 (20:22 +0200)]
more midi latency detection debugging

9 years agodebug alsa midi latency measurement
Robin Gareus [Mon, 16 Jun 2014 17:44:23 +0000 (19:44 +0200)]
debug alsa midi latency measurement

9 years agofix pango font style (prev commit)
Robin Gareus [Mon, 16 Jun 2014 15:56:52 +0000 (17:56 +0200)]
fix pango font style (prev commit)

9 years agono more red latency messages
Robin Gareus [Mon, 16 Jun 2014 15:30:22 +0000 (17:30 +0200)]
no more red latency messages

9 years agofix typo in comment of prev. commit
Robin Gareus [Sun, 15 Jun 2014 22:55:26 +0000 (00:55 +0200)]
fix typo in comment of prev. commit

9 years agofix region un/combine, based on a patch by Tom Brand
Robin Gareus [Sun, 15 Jun 2014 22:51:45 +0000 (00:51 +0200)]
fix region un/combine, based on a patch by Tom Brand

9 years agoanother edge-case, don't crash on invalid files with zero channels
Robin Gareus [Sun, 15 Jun 2014 18:46:06 +0000 (20:46 +0200)]
another edge-case, don't crash on invalid files with zero channels

9 years agofix edge case - handle error in device owner request
Robin Gareus [Sun, 15 Jun 2014 18:42:34 +0000 (20:42 +0200)]
fix edge case - handle error in device owner request

9 years agoARD: proper cleanup
Robin Gareus [Sun, 15 Jun 2014 18:41:20 +0000 (20:41 +0200)]
ARD: proper cleanup

9 years agocomment correction regarding Canvas::visible_area()
Paul Davis [Sun, 15 Jun 2014 16:18:47 +0000 (12:18 -0400)]
comment correction regarding Canvas::visible_area()

9 years agoinitialize _scroll_parent in Canvas::item
Paul Davis [Sun, 15 Jun 2014 16:17:03 +0000 (12:17 -0400)]
initialize _scroll_parent in Canvas::item

9 years agooptimize midi delayline.
Robin Gareus [Sun, 15 Jun 2014 14:36:13 +0000 (16:36 +0200)]
optimize midi delayline.

9 years agooffset automation by latency
Robin Gareus [Sun, 15 Jun 2014 14:21:09 +0000 (16:21 +0200)]
offset automation by latency

9 years agooffset automation by processor latency for bouncing/freezing
Robin Gareus [Sun, 15 Jun 2014 14:12:50 +0000 (16:12 +0200)]
offset automation by processor latency for bouncing/freezing

the same remains to be done for general route processing

9 years agoplug some leaks
Robin Gareus [Sun, 15 Jun 2014 11:04:47 +0000 (13:04 +0200)]
plug some leaks

9 years agoupdate valgrind suppression file (ignore system-wide libs)
Robin Gareus [Sun, 15 Jun 2014 11:01:49 +0000 (13:01 +0200)]
update valgrind suppression file (ignore system-wide libs)

9 years agoreset latency dialog every time.
Robin Gareus [Sun, 15 Jun 2014 10:59:27 +0000 (12:59 +0200)]
reset latency dialog every time.

9 years agobe smart, use boost::shared_ptr
Robin Gareus [Sun, 15 Jun 2014 02:54:39 +0000 (04:54 +0200)]
be smart, use boost::shared_ptr

9 years agoclear engine device combo when no devices are available
Robin Gareus [Sun, 15 Jun 2014 01:08:40 +0000 (03:08 +0200)]
clear engine device combo when no devices are available

9 years agoinitialize uninitialized variable
Robin Gareus [Sun, 15 Jun 2014 00:31:47 +0000 (02:31 +0200)]
initialize uninitialized variable

9 years agotweak ArdourButton focus outline
Robin Gareus [Sun, 15 Jun 2014 00:31:28 +0000 (02:31 +0200)]
tweak ArdourButton focus outline

9 years agoremove debug output
Robin Gareus [Sun, 15 Jun 2014 00:10:03 +0000 (02:10 +0200)]
remove debug output

9 years agofix pathscanner / stl_vector related memory leaks
Robin Gareus [Sun, 15 Jun 2014 02:09:48 +0000 (04:09 +0200)]
fix pathscanner / stl_vector related memory leaks

9 years agoAdd newly introduced sources to our MSVC projects
John Emmas [Sun, 15 Jun 2014 08:56:49 +0000 (09:56 +0100)]
Add newly introduced sources to our MSVC projects

9 years agoRemove no longer needed sources from MSVC projects
John Emmas [Sun, 15 Jun 2014 08:55:34 +0000 (09:55 +0100)]
Remove no longer needed sources from MSVC projects

9 years agostrtok() is the root of all evil.
Robin Gareus [Sat, 14 Jun 2014 14:45:55 +0000 (16:45 +0200)]
strtok() is the root of all evil.

9 years agotracking down concurrency issus is fun.
Robin Gareus [Sat, 14 Jun 2014 14:38:47 +0000 (16:38 +0200)]
tracking down concurrency issus is fun.