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
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
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
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
Tim Mayberry [Tue, 24 Jun 2014 23:04:43 +0000 (09:04 +1000)]
Use PLATFORM_WINDOWS define instead of WIN32 in PBD::FileManager
Tim Mayberry [Tue, 24 Jun 2014 09:33:10 +0000 (19:33 +1000)]
Call PBD::init and PBD::cleanup in pbd test executable
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...
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
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.
Tim Mayberry [Tue, 24 Jun 2014 01:16:38 +0000 (11:16 +1000)]
Add/Update docs in pbd/file_utils.h
Tim Mayberry [Sun, 22 Jun 2014 08:03:01 +0000 (18:03 +1000)]
Use run_functor_for_paths in PBD::get_paths
Tim Mayberry [Sun, 22 Jun 2014 07:44:35 +0000 (17:44 +1000)]
Fix finding icon sets by using correct utility function
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
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
Tim Mayberry [Sun, 22 Jun 2014 03:58:39 +0000 (13:58 +1000)]
Use run_functor_for_paths in PBD::find_files_matching_pattern
Tim Mayberry [Sun, 22 Jun 2014 03:20:25 +0000 (13:20 +1000)]
Fix finding of bundled LV2 plugins
Tim Mayberry [Sun, 22 Jun 2014 03:11:27 +0000 (13:11 +1000)]
Add function PBD::find_paths_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
Tim Mayberry [Sun, 22 Jun 2014 03:18:14 +0000 (13:18 +1000)]
Add function to file_utils intended to be used internally
Tim Mayberry [Sun, 22 Jun 2014 00:40:28 +0000 (10:40 +1000)]
Add some debug output in file_utils.cc
Tim Mayberry [Fri, 20 Jun 2014 03:14:50 +0000 (13:14 +1000)]
Remove reference to strtok_r now that it isn't used
Tim Mayberry [Fri, 20 Jun 2014 01:07:29 +0000 (11:07 +1000)]
Change formatting of DEBUG_TRACE calls to match style guide
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
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
Tim Mayberry [Tue, 24 Jun 2014 01:05:24 +0000 (11:05 +1000)]
Reimplement PBD::clear_dir using PBD::get_directory_contents
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.
Tim Mayberry [Tue, 24 Jun 2014 00:30:22 +0000 (10:30 +1000)]
Use PBD::find_files_matching_pattern instead of other variations
Tim Mayberry [Thu, 19 Jun 2014 10:09:10 +0000 (20:09 +1000)]
Add a variation of PBD::find_files_matching_pattern for convenience
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
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
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
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.
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.
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
Tim Mayberry [Thu, 19 Jun 2014 02:31:19 +0000 (12:31 +1000)]
Add PBD::get_directory_contents to pbd/file_utils.h
Tim Mayberry [Thu, 19 Jun 2014 01:13:57 +0000 (11:13 +1000)]
GLib functions for listing directory contents don't include "." or ".." entries
Paul Davis [Wed, 25 Jun 2014 16:30:57 +0000 (12:30 -0400)]
fix incorrect cut-n-paste across synergy
Paul Davis [Wed, 25 Jun 2014 16:12:01 +0000 (12:12 -0400)]
add slider control to GUI tab of preferences for lock timeout
Paul Davis [Wed, 25 Jun 2014 16:11:43 +0000 (12:11 -0400)]
expose Gtk::HScale member of OptionEditor::HSliderOption
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
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
Paul Davis [Wed, 25 Jun 2014 15:34:58 +0000 (11:34 -0400)]
check UIConfig variable before restarting lock timeout
Paul Davis [Wed, 25 Jun 2014 15:34:37 +0000 (11:34 -0400)]
add UIConfig variable for lock timer
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
Paul Davis [Wed, 25 Jun 2014 12:28:36 +0000 (08:28 -0400)]
new timer-based GUI locking code
Paul Davis [Tue, 24 Jun 2014 16:28:45 +0000 (12:28 -0400)]
there's no me in proaudio
Ben Loftis [Tue, 24 Jun 2014 15:46:53 +0000 (10:46 -0500)]
last piece of scroll-wheel checkin, oops
Ben Loftis [Tue, 24 Jun 2014 15:32:41 +0000 (10:32 -0500)]
add scroll wheel handler to canvas
Paul Davis [Tue, 24 Jun 2014 15:26:33 +0000 (11:26 -0400)]
actual style specs for lock dialog button
Paul Davis [Tue, 24 Jun 2014 15:26:21 +0000 (11:26 -0400)]
a bit more styling for that lock dialog
Paul Davis [Tue, 24 Jun 2014 15:02:59 +0000 (11:02 -0400)]
rename closed padlock icon
Paul Davis [Tue, 24 Jun 2014 15:01:41 +0000 (11:01 -0400)]
new padlock icons (48x48)
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)
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.
Paul Davis [Tue, 24 Jun 2014 13:54:51 +0000 (09:54 -0400)]
playing with oofus' preferences for selected region coloring
Robin Gareus [Mon, 23 Jun 2014 23:08:50 +0000 (01:08 +0200)]
fix
f6aaa16 (boost shared pointer)
Paul Davis [Mon, 23 Jun 2014 19:24:08 +0000 (15:24 -0400)]
return of the zero line
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
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.
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
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
Robin Gareus [Mon, 23 Jun 2014 10:16:35 +0000 (12:16 +0200)]
don't let enumerated device list strings go out of scope.
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.
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.
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?
Robin Gareus [Sun, 22 Jun 2014 22:48:47 +0000 (00:48 +0200)]
en/disable internal send+returns with tracks en/disable.
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.
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
Robin Gareus [Sun, 22 Jun 2014 16:21:10 +0000 (18:21 +0200)]
fix latency-measurement dialog back-button.
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)
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.
Paul Davis [Sun, 22 Jun 2014 13:53:14 +0000 (09:53 -0400)]
add missing new files for canvas redesign
Paul Davis [Sun, 22 Jun 2014 13:34:39 +0000 (09:34 -0400)]
Merge branch 'canvasredesign' into cairocanvas
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
John Emmas [Sun, 22 Jun 2014 12:29:17 +0000 (13:29 +0100)]
Rename all 3 backends for the MSVC sln file
John Emmas [Sun, 22 Jun 2014 12:11:59 +0000 (13:11 +0100)]
Rename dummy 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
John Emmas [Sun, 22 Jun 2014 11:51:43 +0000 (12:51 +0100)]
Rename waves backend to match Tim's name
Paul Davis [Sat, 21 Jun 2014 15:44:22 +0000 (11:44 -0400)]
use newly factored canvas in gtk2_ardour
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
Robin Gareus [Sat, 21 Jun 2014 11:51:46 +0000 (13:51 +0200)]
virtual abstraction of Alsa Raw+Seq
Robin Gareus [Sat, 21 Jun 2014 09:50:24 +0000 (11:50 +0200)]
prepare ALSA sequencer
Robin Gareus [Sat, 21 Jun 2014 09:49:40 +0000 (11:49 +0200)]
alsa sequencer device/port listing
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.
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
Paul Davis [Thu, 19 Jun 2014 17:47:53 +0000 (13:47 -0400)]
explanatory comment
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
Robin Gareus [Thu, 19 Jun 2014 17:43:13 +0000 (19:43 +0200)]
no more stack smashing, renice debug messages
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
Robin Gareus [Thu, 19 Jun 2014 17:42:46 +0000 (19:42 +0200)]
engine-dialog: properly restore previous active state
Robin Gareus [Thu, 19 Jun 2014 17:42:19 +0000 (19:42 +0200)]
rework raw-midi drain strategy (workaround for sync devices)
Robin Gareus [Wed, 18 Jun 2014 18:53:43 +0000 (20:53 +0200)]
fix port-unregister (on failed latency measurement)
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
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)
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
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()
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
Paul Davis [Thu, 19 Jun 2014 13:25:49 +0000 (09:25 -0400)]
use new canvas cursor API to manage cursors while embedding audio
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)
John Emmas [Thu, 19 Jun 2014 10:49:51 +0000 (11:49 +0100)]
Remove (no longer needed) sources from an MSVC project