ardour.git
10 years agodo not include ruler visibility items in context click menu on timebars
Paul Davis [Wed, 25 Jun 2014 19:32:42 +0000 (15:32 -0400)]
do not include ruler visibility items in context click menu on timebars

10 years agotighten up spacing in ruler dialog
Paul Davis [Wed, 25 Jun 2014 19:26:55 +0000 (15:26 -0400)]
tighten up spacing in ruler dialog

10 years agouse new ruler dialog class for context clicks on ruler labels area
Paul Davis [Wed, 25 Jun 2014 19:23:25 +0000 (15:23 -0400)]
use new ruler dialog class for context clicks on ruler labels area

10 years agonew ruler dialog class
Paul Davis [Wed, 25 Jun 2014 19:23:05 +0000 (15:23 -0400)]
new ruler dialog class

10 years agoremove unused code
Paul Davis [Wed, 25 Jun 2014 17:37:59 +0000 (13:37 -0400)]
remove unused code

10 years agofix y-offset when drag-n-dropping regions from region list
Paul Davis [Wed, 25 Jun 2014 16:39:52 +0000 (12:39 -0400)]
fix y-offset when drag-n-dropping regions from region list

10 years agoAdd unit tests for PBD::clear_directory and PBD::remove_directory
Tim Mayberry [Wed, 25 Jun 2014 11:43:15 +0000 (21:43 +1000)]
Add unit tests for PBD::clear_directory and PBD::remove_directory

10 years agoRename internal class to stop the wrong destructor from being called
Tim Mayberry [Wed, 25 Jun 2014 12:41:31 +0000 (22:41 +1000)]
Rename internal class to stop the wrong destructor from being called

10 years agoAdd a PBD::TextReceiver in pbd testrunner
Tim Mayberry [Wed, 25 Jun 2014 00:59:34 +0000 (10:59 +1000)]
Add a PBD::TextReceiver in pbd testrunner

10 years agoAdd simple test for PBD::find_files_matching_pattern
Tim Mayberry [Tue, 24 Jun 2014 11:27:37 +0000 (21:27 +1000)]
Add simple test for PBD::find_files_matching_pattern

This helped fix a silly cut and paste error in pbd/file_utils.cc so
might as well included it.

10 years agoUse PBD::FdFileDescriptor in PBD::copy_file
Tim Mayberry [Wed, 25 Jun 2014 01:01:33 +0000 (11:01 +1000)]
Use PBD::FdFileDescriptor in PBD::copy_file

10 years agoFix PBD::copy_file so it works with non-ASCII filenames on windows
Tim Mayberry [Tue, 24 Jun 2014 23:40:26 +0000 (09:40 +1000)]
Fix PBD::copy_file so it works with non-ASCII filenames on windows

10 years agoAdd test utility function to PBD tests to return some utf-8 strings
Tim Mayberry [Wed, 25 Jun 2014 03:40:18 +0000 (13:40 +1000)]
Add test utility function to PBD tests to return some utf-8 strings

This is currently unused

10 years agoAdd a test for PBD::copy_file using test files with utf-8 encoded filenames
Tim Mayberry [Wed, 25 Jun 2014 03:51:58 +0000 (13:51 +1000)]
Add a test for PBD::copy_file using test files with utf-8 encoded filenames

10 years agoFix PBD::copy_files so that it uses O_BINARY on windows and doesn't add line endings...
Tim Mayberry [Tue, 24 Jun 2014 23:05:43 +0000 (09:05 +1000)]
Fix PBD::copy_files so that it uses O_BINARY on windows and doesn't add line endings to copied files

10 years agoUse PLATFORM_WINDOWS define instead of WIN32 in PBD::FileManager
Tim Mayberry [Tue, 24 Jun 2014 23:04:43 +0000 (09:04 +1000)]
Use PLATFORM_WINDOWS define instead of WIN32 in PBD::FileManager

10 years agoCall PBD::init and PBD::cleanup in pbd test executable
Tim Mayberry [Tue, 24 Jun 2014 09:33:10 +0000 (19:33 +1000)]
Call PBD::init and PBD::cleanup in pbd test executable

10 years agoAdd test for PBD::copy_file
Tim Mayberry [Tue, 24 Jun 2014 07:05:45 +0000 (17:05 +1000)]
Add test for PBD::copy_file

From this I can see that PBD::copy_file is not working correctly on windows
as it is adding windows style line endings. Adding O_BINARY to ::open flags
would fix it, but perhaps there is a better way...

10 years agoAdd utility function to test lib to create a test directory
Tim Mayberry [Tue, 24 Jun 2014 07:02:39 +0000 (17:02 +1000)]
Add utility function to test lib to create a test directory

There is an identical function in libardour test support lib so we
should probably find a better place to put this at some point

10 years agoChange PBD::get_files and PBD::get_paths to take a Searchpath instead of directory...
Tim Mayberry [Sun, 22 Jun 2014 09:58:19 +0000 (19:58 +1000)]
Change PBD::get_files and PBD::get_paths to take a Searchpath instead of directory path

Both these functions use the internal function run_functor_for_paths
which takes a Searchpath so this avoids a temporary variable in cases
where a Searchpath is passed directly.

The usage is the same as the compiler will generate a temporary Searchpath
from a string(directory path) if necessary.

10 years agoAdd/Update docs in pbd/file_utils.h
Tim Mayberry [Tue, 24 Jun 2014 01:16:38 +0000 (11:16 +1000)]
Add/Update docs in pbd/file_utils.h

10 years agoUse run_functor_for_paths in PBD::get_paths
Tim Mayberry [Sun, 22 Jun 2014 08:03:01 +0000 (18:03 +1000)]
Use run_functor_for_paths in PBD::get_paths

10 years agoFix finding icon sets by using correct utility function
Tim Mayberry [Sun, 22 Jun 2014 07:44:35 +0000 (17:44 +1000)]
Fix finding icon sets by using correct utility function

10 years agoRename PBD::get_files_in_directory to just PBD::get_files, change parameter order...
Tim Mayberry [Sun, 22 Jun 2014 07:39:06 +0000 (17:39 +1000)]
Rename PBD::get_files_in_directory to just PBD::get_files, change parameter order and fix docs

10 years agoRename PBD::get_directory_contents to PBD::get_paths
Tim Mayberry [Sun, 22 Jun 2014 07:22:37 +0000 (17:22 +1000)]
Rename PBD::get_directory_contents to PBD::get_paths

shorter name and change order of parameters to match other functions

10 years agoUse run_functor_for_paths in PBD::find_files_matching_pattern
Tim Mayberry [Sun, 22 Jun 2014 03:58:39 +0000 (13:58 +1000)]
Use run_functor_for_paths in PBD::find_files_matching_pattern

10 years agoFix finding of bundled LV2 plugins
Tim Mayberry [Sun, 22 Jun 2014 03:20:25 +0000 (13:20 +1000)]
Fix finding of bundled LV2 plugins

10 years agoAdd function PBD::find_paths_matching_filter
Tim Mayberry [Sun, 22 Jun 2014 03:11:27 +0000 (13:11 +1000)]
Add function PBD::find_paths_matching_filter

10 years agoUse run_functor_for_paths in PBD::find_files_matching_filter
Tim Mayberry [Sun, 22 Jun 2014 02:53:35 +0000 (12:53 +1000)]
Use run_functor_for_paths in PBD::find_files_matching_filter

10 years agoAdd function to file_utils intended to be used internally
Tim Mayberry [Sun, 22 Jun 2014 03:18:14 +0000 (13:18 +1000)]
Add function to file_utils intended to be used internally

10 years agoAdd some debug output in file_utils.cc
Tim Mayberry [Sun, 22 Jun 2014 00:40:28 +0000 (10:40 +1000)]
Add some debug output in file_utils.cc

10 years agoRemove reference to strtok_r now that it isn't used
Tim Mayberry [Fri, 20 Jun 2014 03:14:50 +0000 (13:14 +1000)]
Remove reference to strtok_r now that it isn't used

10 years agoChange formatting of DEBUG_TRACE calls to match style guide
Tim Mayberry [Fri, 20 Jun 2014 01:07:29 +0000 (11:07 +1000)]
Change formatting of DEBUG_TRACE calls to match style guide

10 years agoMove functions in pbd/clear_dir.h/cc into pbd/file_utils.h/cc
Tim Mayberry [Thu, 19 Jun 2014 13:00:45 +0000 (23:00 +1000)]
Move functions in pbd/clear_dir.h/cc into pbd/file_utils.h/cc

10 years agoAdd remove_directory_internal function and use it in PBD::clear_directory and PBD...
Tim Mayberry [Thu, 19 Jun 2014 12:31:13 +0000 (22:31 +1000)]
Add remove_directory_internal function and use it in PBD::clear_directory and PBD::remove_directory

10 years agoReimplement PBD::clear_dir using PBD::get_directory_contents
Tim Mayberry [Tue, 24 Jun 2014 01:05:24 +0000 (11:05 +1000)]
Reimplement PBD::clear_dir using PBD::get_directory_contents

10 years agoRename PBD::find_file_in_search_path to just PBD::find_file
Tim Mayberry [Thu, 19 Jun 2014 11:23:12 +0000 (21:23 +1000)]
Rename PBD::find_file_in_search_path to just PBD::find_file

saves a bit of typing and not necessary if you look at how it is used.

10 years agoUse PBD::find_files_matching_pattern instead of other variations
Tim Mayberry [Tue, 24 Jun 2014 00:30:22 +0000 (10:30 +1000)]
Use PBD::find_files_matching_pattern instead of other variations

10 years agoAdd a variation of PBD::find_files_matching_pattern for convenience
Tim Mayberry [Thu, 19 Jun 2014 10:09:10 +0000 (20:09 +1000)]
Add a variation of PBD::find_files_matching_pattern for convenience

10 years agoAdd new function PBD::find_files_matching_pattern
Tim Mayberry [Thu, 19 Jun 2014 09:39:27 +0000 (19:39 +1000)]
Add new function PBD::find_files_matching_pattern

This new function is intended to replace the three existing
PBD::find_matching_files_* functions.

The order of parameters matches find_files_matching_regex and
find_files_matching_filter

10 years agoChange PBD::find_files_matching_regex and PBD::find_files_matching_filter to take...
Tim Mayberry [Thu, 19 Jun 2014 08:26:17 +0000 (18:26 +1000)]
Change PBD::find_files_matching_regex and PBD::find_files_matching_filter to take a Searchpath

10 years agoReimplement PBD::find_files_matching_filter using SearchPath and get_directory_contents
Tim Mayberry [Thu, 19 Jun 2014 04:41:59 +0000 (14:41 +1000)]
Reimplement PBD::find_files_matching_filter using SearchPath and get_directory_contents

10 years agoRemove limit parameter from PBD::find_files_matching_regex
Tim Mayberry [Thu, 19 Jun 2014 03:24:34 +0000 (13:24 +1000)]
Remove limit parameter from PBD::find_files_matching_regex

This limit was not used or documented. The same functionality can be
performed when iterating through the results.

10 years agoRemove parameters from PBD::find_files_matching_regex
Tim Mayberry [Thu, 19 Jun 2014 02:58:49 +0000 (12:58 +1000)]
Remove parameters from PBD::find_files_matching_regex

The only users of this API always used the same options so just remove
them.

10 years agoChange PBD::get_files_in_directory to return full paths in result
Tim Mayberry [Thu, 19 Jun 2014 02:33:14 +0000 (12:33 +1000)]
Change PBD::get_files_in_directory to return full paths in result

get_files_in_directory uses get_directory_contents internally now

10 years agoAdd PBD::get_directory_contents to pbd/file_utils.h
Tim Mayberry [Thu, 19 Jun 2014 02:31:19 +0000 (12:31 +1000)]
Add PBD::get_directory_contents to pbd/file_utils.h

10 years agoGLib functions for listing directory contents don't include "." or ".." entries
Tim Mayberry [Thu, 19 Jun 2014 01:13:57 +0000 (11:13 +1000)]
GLib functions for listing directory contents don't include "." or ".." entries

10 years agofix incorrect cut-n-paste across synergy
Paul Davis [Wed, 25 Jun 2014 16:30:57 +0000 (12:30 -0400)]
fix incorrect cut-n-paste across synergy

10 years agoadd slider control to GUI tab of preferences for lock timeout
Paul Davis [Wed, 25 Jun 2014 16:12:01 +0000 (12:12 -0400)]
add slider control to GUI tab of preferences for lock timeout

10 years agoexpose Gtk::HScale member of OptionEditor::HSliderOption
Paul Davis [Wed, 25 Jun 2014 16:11:43 +0000 (12:11 -0400)]
expose Gtk::HScale member of OptionEditor::HSliderOption

10 years agopart two of: lock dialog MUST be a Gtk::Dialog so that it does not forward key (or...
Paul Davis [Wed, 25 Jun 2014 16:10:56 +0000 (12:10 -0400)]
part two of: lock dialog MUST be a Gtk::Dialog so that it does not forward key (or other) events to the Editor

10 years agolock dialog MUST be a Gtk::Dialog so that it does not forward key (or other) events...
Paul Davis [Wed, 25 Jun 2014 15:47:35 +0000 (11:47 -0400)]
lock dialog MUST be a Gtk::Dialog so that it does not forward key (or other) events to the Editor

10 years agocheck UIConfig variable before restarting lock timeout
Paul Davis [Wed, 25 Jun 2014 15:34:58 +0000 (11:34 -0400)]
check UIConfig variable before restarting lock timeout

10 years agoadd UIConfig variable for lock timer
Paul Davis [Wed, 25 Jun 2014 15:34:37 +0000 (11:34 -0400)]
add UIConfig variable for lock timer

10 years agowscript fix for wavesaudio backend - use correct name for CoreM[iI][dD][iI] framework...
Paul Davis [Wed, 25 Jun 2014 12:29:23 +0000 (08:29 -0400)]
wscript fix for wavesaudio backend - use correct name for CoreM[iI][dD][iI] framework on Lion and other versions

10 years agonew timer-based GUI locking code
Paul Davis [Wed, 25 Jun 2014 12:28:36 +0000 (08:28 -0400)]
new timer-based GUI locking code

10 years agothere's no me in proaudio
Paul Davis [Tue, 24 Jun 2014 16:28:45 +0000 (12:28 -0400)]
there's no me in proaudio

10 years agolast piece of scroll-wheel checkin, oops
Ben Loftis [Tue, 24 Jun 2014 15:46:53 +0000 (10:46 -0500)]
last piece of scroll-wheel checkin, oops

10 years agoadd scroll wheel handler to canvas
Ben Loftis [Tue, 24 Jun 2014 15:32:41 +0000 (10:32 -0500)]
add scroll wheel handler to canvas

10 years agoactual style specs for lock dialog button
Paul Davis [Tue, 24 Jun 2014 15:26:33 +0000 (11:26 -0400)]
actual style specs for lock dialog button

10 years agoa bit more styling for that lock dialog
Paul Davis [Tue, 24 Jun 2014 15:26:21 +0000 (11:26 -0400)]
a bit more styling for that lock dialog

10 years agorename closed padlock icon
Paul Davis [Tue, 24 Jun 2014 15:02:59 +0000 (11:02 -0400)]
rename closed padlock icon

10 years agonew padlock icons (48x48)
Paul Davis [Tue, 24 Jun 2014 15:01:41 +0000 (11:01 -0400)]
new padlock icons (48x48)

10 years agoadd a modal lock dialog for better testing (and someone might find it useful, too)
Paul Davis [Tue, 24 Jun 2014 14:14:07 +0000 (10:14 -0400)]
add a modal lock dialog for better testing (and someone might find it useful, too)

10 years agoadd ability to save current action sensitivities and restore them, and to disable...
Paul Davis [Tue, 24 Jun 2014 13:56:08 +0000 (09:56 -0400)]
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.

10 years agoplaying with oofus' preferences for selected region coloring
Paul Davis [Tue, 24 Jun 2014 13:54:51 +0000 (09:54 -0400)]
playing with oofus' preferences for selected region coloring

10 years agofix f6aaa16 (boost shared pointer)
Robin Gareus [Mon, 23 Jun 2014 23:08:50 +0000 (01:08 +0200)]
fix f6aaa16 (boost shared pointer)

10 years agoreturn of the zero line
Paul Davis [Mon, 23 Jun 2014 19:24:08 +0000 (15:24 -0400)]
return of the zero line

10 years agorevert drawing of rectified waves back to previous approach since it (might be) sligh...
Paul Davis [Mon, 23 Jun 2014 19:12:30 +0000 (15:12 -0400)]
revert drawing of rectified waves back to previous approach since it (might be) slightly more efficient and is simpler to understand; add comments

10 years agocompletely rethink waveform rendering (again)
Paul Davis [Mon, 23 Jun 2014 18:57:55 +0000 (14:57 -0400)]
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.

10 years agoreset time axis view item name text color when selected status changes
Paul Davis [Mon, 23 Jun 2014 14:29:30 +0000 (10:29 -0400)]
reset time axis view item name text color when selected status changes

10 years agofix logic error that meant one side of the waveform outline is not drawn; draw zero...
Paul Davis [Mon, 23 Jun 2014 14:06:52 +0000 (10:06 -0400)]
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

10 years agodon't let enumerated device list strings go out of scope.
Robin Gareus [Mon, 23 Jun 2014 10:16:35 +0000 (12:16 +0200)]
don't let enumerated device list strings go out of scope.

10 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.

10 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.

10 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?

10 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.

10 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.

10 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

10 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.

10 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)

10 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.

10 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

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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

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

10 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.

10 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

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

10 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

10 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

10 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