Commit graph

11889 commits

Author SHA1 Message Date
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
nick_m
74a604d261 Fix the tempo note-type hallucination.
- after reports that a tempo with non-4.0 note type
	  would produce a ramp in the preceding section, an incorrect
	  assumption was made leading to a bogus 'fix' that redefined
	  Tempo's pulses_per_minute().
	  the real fix was simple:
	  the ramp's function constant was calculated using the note type
	  of the proceding tempo rather than the current one.

	- this patch reverts e82482e8e9 and a4d67279e0
	  and maintains the old definition of Tempo::pulses_per_minute()
2016-09-05 16:28:46 +10:00
nick_m
dd7c0cca6c Sanity check for TempoMap::get_grid () 2016-09-04 04:19:34 +10:00
nick_m
921024b79f Revert part of d50df82799. 2016-09-04 03:19:13 +10:00
nick_m
d50df82799 Fix various paste errors in tempo.cc. Should fix recent regressions. 2016-09-03 01:22:41 +10:00
nick_m
658699e318 Use the stored beat to recalculate pulse when setting position as sub_num is irrelevent. 2016-09-02 05:13:53 +10:00
nick_m
46858a2925 Consolidate the meaning of beat divisions.
- bar and beat snapping is BBT beat based while other
	  music divisions are quarter note based. Reflect this in
	  the way exact_beat/qn is calculated.
2016-09-02 05:10:32 +10:00
Len Ovens
22d1f1268b OSC: don't restore User preset before writing new one 2016-08-31 19:56:48 -07:00
nick_m
4a953174c3 Attempt to clarify tempo map comments. 2016-09-01 04:01:29 +10:00
nick_m
d05bfa7206 Revert 894cdb6f5c.
- once again we snap to BBT beats when snapping to 'beat'.
2016-09-01 02:43:29 +10:00
nick_m
894cdb6f5c Snap to beat snaps to quarter note. 2016-09-01 01:35:53 +10:00
nick_m
b2190cc4ff TempoMap::pulse_at_frame() handles separated musical sections as per beat_at_frame(). 2016-08-31 23:12:11 +10:00