ardour.git
7 years agomatch ID of Inline Scope following 2b7a89e
Robin Gareus [Sat, 17 Sep 2016 22:52:23 +0000 (00:52 +0200)]
match ID of Inline Scope following 2b7a89e

7 years agoSave changes when toggling checkboxes in ExportDialog
Tim Mayberry [Sat, 17 Sep 2016 10:28:34 +0000 (20:28 +1000)]
Save changes when toggling checkboxes in ExportDialog

I used the Widget::on_hide method in the ExportFileDialog to defer the saving
of changes in state of the analysis and soundcloud-upload checkboxes as it was
not possible to save the format xml state directly from the
ToggleButton::toggled() signal as it created a recursive loop and also to
prevent saving the state more than once.

Even though the ExportProfileManager::FormatListChanged signal is no longer
emitted when saving format state and the crash no longer occurs without this
change. I think it is worth saving explicitily from in the toggle callbacks to
reduce the complexity of understanding what is taking place and when even if it
is less efficient.

There is definitely more opportunity for refactoring and redesign.

7 years agoFix crash when ExportDialog is hidden
Tim Mayberry [Sat, 17 Sep 2016 09:20:06 +0000 (19:20 +1000)]
Fix crash when ExportDialog is hidden

The issue is that when ExportDialog is destroyed
ExportFileNotebook::FilePage::on_hide is called which in turn calls
ExportProfileManager::save_format_to_disk() in order to save changes to the
analysis and soundcloud upload checkboxes. This then causes the
ExportProfileManager::FormatListChanged signal to be emitted, which in all
other cases is emitted when the format list is modified so that the GUI can
rebuild the format selector menu in ExportFormatSelector::update_format_list
when a format is added or removed.

The problem when doing this in the destructor is that some of the widgets have
already been destroyed, specifically the issue was in
ExportFileNotebook::update_soundcloud_upload trying to access the
soundcloud_selector member that had already had its destructor called.

As it is not necessary to call this signal in the first place and it just
causes unnecessary GUI updates remove the signal emission.

7 years agoFix indentation in ARDOUR::ExportProfileManager source file
Tim Mayberry [Sat, 17 Sep 2016 07:59:59 +0000 (17:59 +1000)]
Fix indentation in ARDOUR::ExportProfileManager source file

7 years agoVST threading: prevent concurrent effSetChunk and process()
Robin Gareus [Sat, 17 Sep 2016 11:46:30 +0000 (13:46 +0200)]
VST threading: prevent concurrent effSetChunk and process()

This is a potential fix for unreliable preset load/restore.
(http://mixbus.harrisonconsoles.com/forum/thread-1970-post-21486.html#pid21486)

Since a Glib Mutex can't be copy-constructed an explicit copy c'tor
is needed.

7 years agoNO-OP: whitespace
Robin Gareus [Fri, 16 Sep 2016 20:38:14 +0000 (22:38 +0200)]
NO-OP: whitespace

7 years agore-do previous commit
Robin Gareus [Fri, 16 Sep 2016 20:35:27 +0000 (22:35 +0200)]
re-do previous commit

* do not include _by_name() API. Port names are locale dependent
* proper whitespace (after comma, before bracket) and styleguide

7 years agoRevert "Add convenience Lua bindings to access plugin controls"
Robin Gareus [Fri, 16 Sep 2016 20:31:43 +0000 (22:31 +0200)]
Revert "Add convenience Lua bindings to access plugin controls"

This reverts commit faf44386460b6cdda0aa249eb138e8fd82700194.

7 years agoAdd convenience Lua bindings to access plugin controls
Thomas Brand [Fri, 16 Sep 2016 20:09:05 +0000 (22:09 +0200)]
Add convenience Lua bindings to access plugin controls

7 years agoremove cruft - don't pollute global namespace
Robin Gareus [Fri, 16 Sep 2016 20:05:43 +0000 (22:05 +0200)]
remove cruft - don't pollute global namespace

* remove unused functions
* don't globally export C functions that are only used locally

7 years agoAllow to query HTTP headers
Robin Gareus [Thu, 15 Sep 2016 23:39:04 +0000 (01:39 +0200)]
Allow to query HTTP headers

7 years ago Modify our MSVC project to use the newly introduced 'libarchive' library (libardour)
John Emmas [Thu, 15 Sep 2016 13:46:33 +0000 (14:46 +0100)]
 Modify our MSVC project to use the newly introduced 'libarchive' library (libardour)

7 years agoModify our MSVC project to use the newly introduced 'libarchive' library (libpbd)
John Emmas [Thu, 15 Sep 2016 13:38:58 +0000 (14:38 +0100)]
Modify our MSVC project to use the newly introduced 'libarchive' library (libpbd)

7 years agoSkip pin-management for MB channelstrip plugins
Robin Gareus [Thu, 15 Sep 2016 13:32:23 +0000 (15:32 +0200)]
Skip pin-management for MB channelstrip plugins

7 years agoDo not delete selected MIDI notes while dragging. (See #6602)
Guido Aulisi [Sun, 27 Sep 2015 16:53:54 +0000 (18:53 +0200)]
Do not delete selected MIDI notes while dragging. (See #6602)

This is not caused by commit_reversible_command, but because
NoteDrag::total_dx calls Evoral::Note<Evoral::Beats>::time()
with invalid MIDI note (deleted).

7 years agoFix passing ctrl-output data to lua inline display thread
Robin Gareus [Thu, 15 Sep 2016 11:59:22 +0000 (13:59 +0200)]
Fix passing ctrl-output data to lua inline display thread

7 years agoFix links to manual in windows installer
Robin Gareus [Thu, 15 Sep 2016 11:48:45 +0000 (13:48 +0200)]
Fix links to manual in windows installer

7 years agoSend/show error message if g_stat fails in Session::cleanup_sources
Tim Mayberry [Wed, 14 Sep 2016 11:48:33 +0000 (21:48 +1000)]
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.

7 years agoUse g_strerror() instead of ::strerror() in Session::cleanup_sources
Tim Mayberry [Wed, 14 Sep 2016 11:31:31 +0000 (21:31 +1000)]
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).

7 years agoUse g_rename() instead of ::rename() in Session::cleanup_sources
Tim Mayberry [Wed, 14 Sep 2016 11:23:02 +0000 (21:23 +1000)]
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).

7 years agoUse g_strerror instead of strerror in ARDOUR::FileSource
Tim Mayberry [Thu, 15 Sep 2016 10:17:44 +0000 (20:17 +1000)]
Use g_strerror instead of strerror in ARDOUR::FileSource

For consistency when calling glib functions and to get UTF-8 strings for
display.

7 years agoUse ::g_rename instead of ::rename in ARDOUR::FileSource class
Tim Mayberry [Wed, 14 Sep 2016 11:58:19 +0000 (21:58 +1000)]
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).

7 years agoAdd defines necessary for successful gcc/mingw compile with --cxx11 option
Tim Mayberry [Tue, 15 Dec 2015 04:56:54 +0000 (14:56 +1000)]
Add defines necessary for successful gcc/mingw compile with --cxx11 option

_USE_MATH_DEFINES is required for M_PI

WIN32 is no longer defined by gcc/mingw with --cxx11 option enabled(of course
_WIN32 still is) but as it is used in a liblo header(even though it is probably
incorrect to do so) define it.

7 years agoAllow to bunde demo session(s)
Robin Gareus [Thu, 15 Sep 2016 11:11:43 +0000 (13:11 +0200)]
Allow to bunde demo session(s)

7 years agobundle embeddable/nativeUI Harrison plugins
Robin Gareus [Thu, 15 Sep 2016 11:05:31 +0000 (13:05 +0200)]
bundle embeddable/nativeUI Harrison plugins

7 years agoremove cruft from packaging scripts
Robin Gareus [Thu, 15 Sep 2016 10:51:32 +0000 (12:51 +0200)]
remove cruft from packaging scripts

7 years agoimplement file-[un]archive progress report
Robin Gareus [Wed, 14 Sep 2016 21:10:24 +0000 (23:10 +0200)]
implement file-[un]archive progress report

7 years agoRestore state of analyze and soundcloud upload checkboxes in ExportDialog
Tim Mayberry [Wed, 14 Sep 2016 10:00:29 +0000 (20:00 +1000)]
Restore state of analyze and soundcloud upload checkboxes in ExportDialog

This should be a proper fix for bug #7003, now that I've spent a bit more time
reading the code. The options are now stored as part of the export format
state.

7 years agoAdd analyse and soundcloud-upload properties of ExportFormatSpecification to xml...
Tim Mayberry [Wed, 14 Sep 2016 09:56:26 +0000 (19:56 +1000)]
Add analyse and soundcloud-upload properties of ExportFormatSpecification to xml state

7 years agoCheck a return value from 'g_stat()'
John Emmas [Wed, 14 Sep 2016 08:57:11 +0000 (09:57 +0100)]
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!!

7 years agoFixes 7004 - Ardour crash on Just Quit when AudioEngine is stopped. AudioEngine:...
Nathan Stewart [Wed, 7 Sep 2016 00:14:25 +0000 (20:14 -0400)]
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.

7 years agochange all MIDI read-from-source to map all events into the loop-range for seamless...
Paul Davis [Tue, 13 Sep 2016 19:10:04 +0000 (14:10 -0500)]
change all MIDI read-from-source to map all events into the loop-range for seamless looping (if using)

7 years agodebug output formatting
Paul Davis [Tue, 13 Sep 2016 19:02:48 +0000 (14:02 -0500)]
debug output formatting

7 years agodo not call MidiRingBuffer::skip_to() when getting a MidiDiskstream's playback buffer...
Paul Davis [Tue, 13 Sep 2016 19:01:38 +0000 (14:01 -0500)]
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)

7 years agomake MidiBuffer::read_from() use "dst_offset" correctly to alter the time of events...
Paul Davis [Tue, 13 Sep 2016 18:59:30 +0000 (13:59 -0500)]
make MidiBuffer::read_from() use "dst_offset" correctly to alter the time of events read from the MidiBuffer

7 years agoextend Evoral::Range<T> to offer ::length() and ::squish()
Paul Davis [Tue, 13 Sep 2016 18:54:02 +0000 (13:54 -0500)]
extend Evoral::Range<T> to offer ::length() and ::squish()

The latter maps a T into a range, using loop semantics

7 years agoadd back event offsetting into MidiRingBuffer::read() (even if we never really use it)
Paul Davis [Tue, 13 Sep 2016 18:51:00 +0000 (13:51 -0500)]
add back event offsetting into MidiRingBuffer::read() (even if we never really use it)

7 years agoNOOP: spacing and indentation
Paul Davis [Tue, 13 Sep 2016 18:50:18 +0000 (13:50 -0500)]
NOOP: spacing and indentation

7 years agoshow "this" in MidiRingBuffer::dump()
Paul Davis [Tue, 13 Sep 2016 18:49:26 +0000 (13:49 -0500)]
show "this" in MidiRingBuffer::dump()

7 years agoslight DEBUG_TRACE enhancement for MidiPort::flush_buffers() output
Paul Davis [Tue, 13 Sep 2016 18:47:21 +0000 (13:47 -0500)]
slight DEBUG_TRACE enhancement for MidiPort::flush_buffers() output

7 years agoNO-OP: indentation
Paul Davis [Tue, 13 Sep 2016 18:41:06 +0000 (13:41 -0500)]
NO-OP: indentation

7 years agoDelivery::run() now offsets data delivered to MIDI ports by the global port offset
Paul Davis [Tue, 13 Sep 2016 18:40:02 +0000 (13:40 -0500)]
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

7 years agouse class-static method rather than pretend there is a per-member value for Port...
Paul Davis [Tue, 13 Sep 2016 18:36:00 +0000 (13:36 -0500)]
use class-static method rather than pretend there is a per-member value for Port::port_offset()

7 years agoprovide Session::declick_out_pending()
Paul Davis [Tue, 13 Sep 2016 18:34:42 +0000 (13:34 -0500)]
provide Session::declick_out_pending()

7 years agosecond part of: change offset arguments to various <T>Buffer::read/merge methods...
Paul Davis [Tue, 13 Sep 2016 18:32:46 +0000 (13:32 -0500)]
second part of:  change offset arguments to various <T>Buffer::read/merge methods from framecnt_t to frameoffset_t

7 years agochange offset arguments to various <T>Buffer::read/merge methods from framecnt_t...
Paul Davis [Tue, 13 Sep 2016 18:31:58 +0000 (13:31 -0500)]
change offset arguments to various <T>Buffer::read/merge methods from framecnt_t to frameoffset_t

7 years agoadd a new DEBUG enum for MidiRingBuffer
Paul Davis [Mon, 12 Sep 2016 14:08:01 +0000 (10:08 -0400)]
add a new DEBUG enum for MidiRingBuffer

7 years agocopy demo sessions
Robin Gareus [Tue, 13 Sep 2016 17:31:38 +0000 (19:31 +0200)]
copy demo sessions

7 years agoadd option to skip unzipping bundled demo sessions
Robin Gareus [Tue, 13 Sep 2016 16:53:29 +0000 (18:53 +0200)]
add option to skip unzipping bundled demo sessions

7 years agoAdd support for built-in file/url unzip/untar
Robin Gareus [Tue, 13 Sep 2016 14:14:08 +0000 (16:14 +0200)]
Add support for built-in file/url unzip/untar

This introduces new build-dependency: libarchive
(http://www.libarchive.org/)

7 years agoRename Struct defined in freesound header to be less generic
Tim Mayberry [Tue, 13 Sep 2016 04:24:28 +0000 (14:24 +1000)]
Rename Struct defined in freesound header to be less generic

This could potentially conflict with a struct declared in the
ardour/soundcloud_upload.h file.

7 years agoRemove duplicate header includes in gtk2_ardour
Tim Mayberry [Mon, 7 Dec 2015 22:12:01 +0000 (08:12 +1000)]
Remove duplicate header includes in gtk2_ardour

7 years agoRemove duplicate header include from libardour source file
Tim Mayberry [Tue, 13 Sep 2016 04:20:29 +0000 (14:20 +1000)]
Remove duplicate header include from libardour source file

7 years agoAdd missing header include guards in various gtk2_ardour headers
Tim Mayberry [Mon, 7 Dec 2015 22:08:19 +0000 (08:08 +1000)]
Add missing header include guards in various gtk2_ardour headers

7 years agoAdd missing header include guards in canvas library
Tim Mayberry [Mon, 7 Dec 2015 22:05:24 +0000 (08:05 +1000)]
Add missing header include guards in canvas library

7 years agoPut ARDOUR::SystemExec implementation inside ARDOUR namespace in source file
Tim Mayberry [Mon, 7 Dec 2015 09:30:48 +0000 (19:30 +1000)]
Put ARDOUR::SystemExec implementation inside ARDOUR namespace in source file

7 years agoAdd missing include guards in libardour header files
Tim Mayberry [Mon, 7 Dec 2015 04:10:55 +0000 (14:10 +1000)]
Add missing include guards in libardour header files

7 years agoTweak PR 269 for portable file-path
Robin Gareus [Mon, 12 Sep 2016 10:05:03 +0000 (12:05 +0200)]
Tweak PR 269 for portable file-path

7 years agoCleaned up messed indents (tabs vs. spaces)
Johannes Mueller [Thu, 8 Sep 2016 21:12:19 +0000 (23:12 +0200)]
Cleaned up messed indents (tabs vs. spaces)

7 years agoLua script to export markers as mp4 chapters
Johannes Mueller [Thu, 8 Sep 2016 20:34:39 +0000 (22:34 +0200)]
Lua script to export markers as mp4 chapters

Location markers, that are not xruns are exported as mp4 chapter
marks. This requires `Location::name()` to be exposed to Lua.

7 years agoExpose Location::name() to Lua
Johannes Mueller [Wed, 7 Sep 2016 20:56:56 +0000 (22:56 +0200)]
Expose Location::name() to Lua

7 years agoAdd a Lua wrapper to Glib::build_filename()
Robin Gareus [Mon, 12 Sep 2016 10:02:07 +0000 (12:02 +0200)]
Add a Lua wrapper to Glib::build_filename()

7 years agoallow running from src-tree using system-wide gtk-themes w/color defs
Robin Gareus [Mon, 12 Sep 2016 10:01:07 +0000 (12:01 +0200)]
allow running from src-tree using system-wide gtk-themes w/color defs

7 years agoExample script to prepare the session to record
Johannes Mueller [Sat, 10 Sep 2016 20:38:07 +0000 (22:38 +0200)]
Example script to prepare the session to record

Often one needs to make sure that all the relevant settings are made
before one actually starts recording. The Lua interface can take care of
this task easily, that the operater by just one action can make sure
that the relevant settings (e.g. recenables, playhead position, etc.)
are ready for recording. This example was written with a quasi live
podcast scenario in mind.

See `scripts/prepare_record_example.lua` for details.

7 years agoExpose `Locations::remove()` to Lua
Johannes Mueller [Sun, 4 Sep 2016 13:29:41 +0000 (15:29 +0200)]
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.

7 years agoadd request_play_loop() & get_play_loop() to luabindings
Thomas Brand [Sat, 10 Sep 2016 21:28:00 +0000 (23:28 +0200)]
add request_play_loop() & get_play_loop() to luabindings

7 years agoFix #7015, Crash while aborting Region trim using Esc key
Tim Mayberry [Sun, 11 Sep 2016 12:40:23 +0000 (22:40 +1000)]
Fix #7015, Crash while aborting Region trim using Esc key

There were two issues:

The first is that TrimDrag::aborted was calling TrimDrag::finished with a null
GdkEvent which caused a segfault when dereferencing. So avoid that by passing
in a dummy event as we are just going to undo the operation in the next step
anyway so it shouldn't matter if it is valid(AFAICT).

The other is that TrimDrag:aborted was calling Editor::undo() which was in turn
calling TrimDrag::aborted leading to infinite recursion and stack overflow.
Calling Session::undo() directly seems to avoid that issue.

This fix feels like a bit of a hack...but it seems to work and is better than a
crash.

7 years agoFix #6774, Moving start/end markers doesn't set Session as modified/dirty
Tim Mayberry [Fri, 9 Sep 2016 12:04:26 +0000 (22:04 +1000)]
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.

7 years agoFix #7003, Store/Restore state of checkboxes in Export dialog
Tim Mayberry [Sat, 10 Sep 2016 22:39:08 +0000 (08:39 +1000)]
Fix #7003, Store/Restore state of checkboxes in Export dialog

7 years agoclosing the normalize dialog should not run normalize (#7016)
Paul Davis [Fri, 9 Sep 2016 23:15:10 +0000 (19:15 -0400)]
closing the normalize dialog should not run normalize (#7016)

7 years agofix WM close handling for session lock dialog (#7017)
Paul Davis [Fri, 9 Sep 2016 23:09:15 +0000 (19:09 -0400)]
fix WM close handling for session lock dialog (#7017)

7 years agofor files imported without copy, _origin is a full path. We should use this when...
Paul Davis [Wed, 7 Sep 2016 16:38:39 +0000 (12:38 -0400)]
for files imported without copy, _origin is a full path. We should use this when looking for the file at session load

7 years agocorrect comment for FileSource::find()
Paul Davis [Wed, 7 Sep 2016 16:22:15 +0000 (12:22 -0400)]
correct comment for FileSource::find()

7 years agoadd ActionManager::rec_sensitive_actions and put "add track/bus" in this group, which...
Paul Davis [Tue, 6 Sep 2016 20:56:46 +0000 (16:56 -0400)]
add ActionManager::rec_sensitive_actions and put "add track/bus" in this group, which is disabled during active recording

7 years agouse moved version of reset_focus()
Paul Davis [Tue, 6 Sep 2016 20:56:07 +0000 (16:56 -0400)]
use moved version of reset_focus()

7 years agoExpose record enable/disable to Lua bindings
Johannes Mueller [Sat, 3 Sep 2016 14:32:35 +0000 (16:32 +0200)]
Expose record enable/disable to Lua bindings

7 years agouse moved version of reset_focus()
Paul Davis [Tue, 6 Sep 2016 20:17:39 +0000 (16:17 -0400)]
use moved version of reset_focus()

7 years agomove kbd focus reset method into ARDOUR_UI where it (probably) belongs
Paul Davis [Tue, 6 Sep 2016 20:17:08 +0000 (16:17 -0400)]
move kbd focus reset method into ARDOUR_UI where it (probably) belongs

7 years agoUpdate clear-gray-ardour.colors
cooltehno [Tue, 6 Sep 2016 19:34:27 +0000 (23:34 +0400)]
Update clear-gray-ardour.colors

This commit changes item "gtk_bases" from light (color22) to darker (color88). The knob of "Enable/Disable MIDI input" in Edit List had the same colour and was not visible. This commit makes it clear visible, and it has no much influence on a general design.

7 years agouse existing Editor::reset_focus() method to reset focus after audio clock editing...
Paul Davis [Tue, 6 Sep 2016 19:40:22 +0000 (15:40 -0400)]
use existing Editor::reset_focus() method to reset focus after audio clock editing is done

7 years agodo not set the focus widget to be a toplevel window in Editor::reset_focus.
Paul Davis [Tue, 6 Sep 2016 19:39:50 +0000 (15:39 -0400)]
do not set the focus widget to be a toplevel window in Editor::reset_focus.

See comments in code for the reason why

7 years agoFix incorrect estimate of future revision.
nick_m [Tue, 6 Sep 2016 14:32:02 +0000 (00:32 +1000)]
Fix incorrect estimate of future revision.

7 years agoRemove unused variable.
nick_m [Tue, 6 Sep 2016 14:27:01 +0000 (00:27 +1000)]
Remove unused variable.

7 years agoLoad midi region length and start correctly in sessions modified by v5.0 -> 5.3-41
nick_m [Tue, 6 Sep 2016 14:18:35 +0000 (00:18 +1000)]
Load midi region length and start correctly in sessions modified by v5.0 -> 5.3-41

7 years agoremove duplicate enum -- copy/paste typo
Robin Gareus [Mon, 5 Sep 2016 23:31:55 +0000 (01:31 +0200)]
remove duplicate enum -- copy/paste typo

7 years agoexpose PeakMeter Lua bindings
Robin Gareus [Mon, 5 Sep 2016 23:26:36 +0000 (01:26 +0200)]
expose PeakMeter Lua bindings

7 years agoSet start_pulse and length_pulse from state, neither need to be a PBD::Property.
nick_m [Mon, 5 Sep 2016 14:04:00 +0000 (00:04 +1000)]
Set start_pulse and length_pulse from state, neither need to be a PBD::Property.

7 years agoFix the tempo note-type hallucination.
nick_m [Mon, 5 Sep 2016 06:28:46 +0000 (16:28 +1000)]
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 e82482e8e9c and a4d67279e0086258
  and maintains the old definition of Tempo::pulses_per_minute()

7 years agoSanity check for TempoMap::get_grid ()
nick_m [Sat, 3 Sep 2016 18:19:34 +0000 (04:19 +1000)]
Sanity check for TempoMap::get_grid ()

7 years agoRevert part of d50df8279966.
nick_m [Sat, 3 Sep 2016 17:19:13 +0000 (03:19 +1000)]
Revert part of d50df8279966.

7 years agoFix graphical issues in tempo curve.
nick_m [Sat, 3 Sep 2016 17:18:12 +0000 (03:18 +1000)]
Fix graphical issues in tempo curve.

7 years agoMove check for detected bundle earlier in install process.
Todd Naugle [Fri, 2 Sep 2016 15:37:37 +0000 (10:37 -0500)]
Move check for detected bundle earlier in install process.

Previously if the bundle being installed did not support the detected
system the user would get an error message about the .size file
being missing.

7 years agoFix various paste errors in tempo.cc. Should fix recent regressions.
nick_m [Fri, 2 Sep 2016 15:22:41 +0000 (01:22 +1000)]
Fix various paste errors in tempo.cc. Should fix recent regressions.

7 years agoEnsure the correct position is passed to MidiRegionView::get_grid_beats().
nick_m [Thu, 1 Sep 2016 19:18:53 +0000 (05:18 +1000)]
Ensure the correct position is passed to MidiRegionView::get_grid_beats().

7 years agoUse the stored beat to recalculate pulse when setting position as sub_num is irrelevent.
nick_m [Thu, 1 Sep 2016 19:13:53 +0000 (05:13 +1000)]
Use the stored beat to recalculate pulse when setting position as sub_num is irrelevent.

7 years agoEditor::get_grid_type_as_beats() returns the quarter note equivalent of BBT beat...
nick_m [Thu, 1 Sep 2016 19:11:54 +0000 (05:11 +1000)]
Editor::get_grid_type_as_beats() returns the quarter note equivalent of BBT beat and bar.

7 years agoConsolidate the meaning of beat divisions.
nick_m [Thu, 1 Sep 2016 19:10:32 +0000 (05:10 +1000)]
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.

7 years agoFix a bug when formatting time strings
John Emmas [Thu, 1 Sep 2016 11:31:33 +0000 (12:31 +0100)]
Fix a bug when formatting time strings

It seems that 'strftime()' (on Windows) works differently from its non-Windows counterparts. Specifically, some formatting options (e.g. %F) are not recognised in the Windows implementation.

Fortunately, glibmm comes to our rescue here! So let's use the glib implementation which will hopefully work the same on all platforms.

7 years agoOSC: don't restore User preset before writing new one
Len Ovens [Thu, 1 Sep 2016 02:56:48 +0000 (19:56 -0700)]
OSC: don't restore User preset before writing new one

7 years agoAttempt to clarify tempo map comments.
nick_m [Wed, 31 Aug 2016 18:01:29 +0000 (04:01 +1000)]
Attempt to clarify tempo map comments.