Commit graph

11650 commits

Author SHA1 Message Date
Robin Gareus
2b8979647b Revert "Add convenience Lua bindings to access plugin controls"
This reverts commit faf4438646.
2016-09-16 22:31:43 +02:00
Thomas Brand
faf4438646 Add convenience Lua bindings to access plugin controls 2016-09-16 22:09:05 +02:00
Robin Gareus
8e36e9bf05 remove cruft - don't pollute global namespace
* remove unused functions
* don't globally export C functions that are only used locally
2016-09-16 22:05:43 +02:00
John Emmas
4042c234b1 Modify our MSVC project to use the newly introduced 'libarchive' library (libardour) 2016-09-15 14:46:33 +01:00
John Emmas
e9e412b989 Modify our MSVC project to use the newly introduced 'libarchive' library (libpbd) 2016-09-15 14:39:38 +01:00
Robin Gareus
9a0d4499f9 Fix passing ctrl-output data to lua inline display thread 2016-09-15 14:01:43 +02:00
Tim Mayberry
ff53fa9806 Send/show error message if g_stat fails in Session::cleanup_sources
let the user/developer know if this does occur rather than just silently
skipping the file.

Fix some whitespace issues while we are changing indentation.
2016-09-15 21:27:55 +10:00
Tim Mayberry
304b491a29 Use g_strerror() instead of ::strerror() in Session::cleanup_sources
The error is generated by a glib function so use the glib version of this
function(it also consistent with usage in the rest the file).
2016-09-15 21:27:55 +10:00
Tim Mayberry
36d1d842df Use g_rename() instead of ::rename() in Session::cleanup_sources
The paths are in UTF-8 encoding and ::rename expects paths in the system
codepage encoding so ::rename will fail for any paths that contain characters
that aren't in the system codepage.

This fixes Flush Wastebasket on Windows where paths contain characters that
aren't in the system codepage(usually most non-ascii characters).
2016-09-15 21:27:55 +10:00
Tim Mayberry
d36c41f128 Use g_strerror instead of strerror in ARDOUR::FileSource
For consistency when calling glib functions and to get UTF-8 strings for
display.
2016-09-15 21:27:55 +10:00
Tim Mayberry
331bfef416 Use ::g_rename instead of ::rename in ARDOUR::FileSource class
The path is in UTF-8 encoding so use Glib functions to properly support paths
containing characters that aren't in the system codepage.

This fixes Clean-up Unused Sources on Windows where paths contain characters
that aren't in the system codepage(usually most non-ascii characters).
2016-09-15 21:27:55 +10:00
Robin Gareus
77bd398153 implement file-[un]archive progress report 2016-09-14 23:10:41 +02:00
Tim Mayberry
b66d5e842b Add analyse and soundcloud-upload properties of ExportFormatSpecification to xml state 2016-09-14 20:36:03 +10:00
John Emmas
83b48f5cc4 Check a return value from 'g_stat()'
Some Mixbus users (on Windows) have reported seeing ludicrously high figures for the amount of disk space that'll be recovered if they choose to clean up unused sources. I can't see anything obviously wrong in Ardour's code - except for one situation where we don't check a return value after calling 'g_stat()'.

On Windows, the relevant path should be (hopefully!) in UTF8 format and the first thing that g_stat() does is to convert it to UTF16. If that conversion fails for some reason, g_stat() will return an error status and statbuf will be uninitialized - but at the moment, we're not checking this. As an experiment, let's check the returned value and find out if these user reports go away.

Unfortunately, if it does fix the problem then we've got an even bigger problem - because somehow, a Windows user can create source files with invalid names which can't be later deleted!!
2016-09-14 09:58:10 +01:00
Nathan Stewart
3b7cb8275a Fixes 7004 - Ardour crash on Just Quit when AudioEngine is stopped. AudioEngine::stop() if running() is not true and _backend->stop() is true, mutex was being unlocked without being locked. 2016-09-13 19:26:36 -05:00
Paul Davis
f41bc70ee9 change all MIDI read-from-source to map all events into the loop-range for seamless looping (if using) 2016-09-13 14:11:29 -05:00
Paul Davis
182e35235c debug output formatting 2016-09-13 14:11:29 -05:00
Paul Davis
e942c389a7 do not call MidiRingBuffer::skip_to() when getting a MidiDiskstream's playback buffer, and do not use port offset to shift data in time either (it should be correct) 2016-09-13 14:11:29 -05:00
Paul Davis
4fa0e3ee90 make MidiBuffer::read_from() use "dst_offset" correctly to alter the time of events read from the MidiBuffer 2016-09-13 14:11:29 -05:00
Paul Davis
e05cb11bb0 extend Evoral::Range<T> to offer ::length() and ::squish()
The latter maps a T into a range, using loop semantics
2016-09-13 14:11:29 -05:00
Paul Davis
c578fc724b add back event offsetting into MidiRingBuffer::read() (even if we never really use it) 2016-09-13 14:11:29 -05:00
Paul Davis
1389fa9e22 NOOP: spacing and indentation 2016-09-13 14:11:29 -05:00
Paul Davis
d5984c6c15 show "this" in MidiRingBuffer::dump() 2016-09-13 14:11:29 -05:00
Paul Davis
6e59ff4229 slight DEBUG_TRACE enhancement for MidiPort::flush_buffers() output 2016-09-13 14:11:29 -05:00
Paul Davis
e16d8637f8 NO-OP: indentation 2016-09-13 14:11:29 -05:00
Paul Davis
fbc8504f9e Delivery::run() now offsets data delivered to MIDI ports by the global port offset
if the output is then re-used, MIDI data is readjusted to not use the global port offset
2016-09-13 14:11:29 -05:00
Paul Davis
ab160ca748 use class-static method rather than pretend there is a per-member value for Port::port_offset() 2016-09-13 14:11:29 -05:00
Paul Davis
21b919c210 provide Session::declick_out_pending() 2016-09-13 14:11:29 -05:00
Paul Davis
368a091acd second part of: change offset arguments to various <T>Buffer::read/merge methods from framecnt_t to frameoffset_t 2016-09-13 14:11:29 -05:00
Paul Davis
b32ca9e9d9 change offset arguments to various <T>Buffer::read/merge methods from framecnt_t to frameoffset_t 2016-09-13 14:11:29 -05:00
Paul Davis
22a9031713 add a new DEBUG enum for MidiRingBuffer 2016-09-13 14:11:29 -05:00
Robin Gareus
f57e2f2fbe add option to skip unzipping bundled demo sessions 2016-09-13 18:53:29 +02:00
Robin Gareus
53ee3e2e72 Add support for built-in file/url unzip/untar
This introduces new build-dependency: libarchive
(http://www.libarchive.org/)
2016-09-13 16:14:40 +02:00
Tim Mayberry
af15cf9ef7 Remove duplicate header include from libardour source file 2016-09-13 14:55:02 +10:00
Tim Mayberry
d4a64299c5 Add missing header include guards in canvas library 2016-09-13 14:32:22 +10:00
Tim Mayberry
937a175898 Put ARDOUR::SystemExec implementation inside ARDOUR namespace in source file 2016-09-13 14:32:22 +10:00
Tim Mayberry
6c2aa7ffc5 Add missing include guards in libardour header files 2016-09-13 14:31:35 +10:00
Johannes Mueller
5eaec8c82d Expose Location::name() to Lua 2016-09-12 12:03:16 +02:00
Robin Gareus
656b3b9c28 Add a Lua wrapper to Glib::build_filename() 2016-09-12 12:02:07 +02:00
Johannes Mueller
e54ae02170 Expose Locations::remove() to Lua
Clearing location markers is a frequent task and should be automizable. For
example it is handy to clear all the markers when restarting the recording
from scratch after a failed recording.
2016-09-12 11:10:40 +02:00
Thomas Brand
98d9887adb add request_play_loop() & get_play_loop() to luabindings 2016-09-12 11:08:37 +02:00
Tim Mayberry
f91e591f40 Fix #6774, Moving start/end markers doesn't set Session as modified/dirty
If a Session is saved and then the start or end session markers are moved,
closing the Session will not result in "Unsaved Session" dialog being presented
even though the Session has been modified. This change sets the Session as
modified when either the Session start or end markers are modified.
2016-09-11 21:24:56 +10:00
Paul Davis
dbf86a495b for files imported without copy, _origin is a full path. We should use this when looking for the file at session load 2016-09-07 12:38:39 -04:00
Paul Davis
9faf3e5556 correct comment for FileSource::find() 2016-09-07 12:22:15 -04:00
Johannes Mueller
8bef7623eb Expose record enable/disable to Lua bindings 2016-09-06 22:27:31 +02:00
nick_m
ab21b241f7 Fix incorrect estimate of future revision. 2016-09-07 00:32:02 +10:00
nick_m
3f4d49fd2f Load midi region length and start correctly in sessions modified by v5.0 -> 5.3-41 2016-09-07 00:18:35 +10:00
Robin Gareus
d6e0e75f3c remove duplicate enum -- copy/paste typo 2016-09-06 01:31:55 +02:00
Robin Gareus
c432c81148 expose PeakMeter Lua bindings 2016-09-06 01:26:47 +02:00
nick_m
5186c69bac Set start_pulse and length_pulse from state, neither need to be a PBD::Property. 2016-09-06 00:04:00 +10:00