Commit graph

14472 commits

Author SHA1 Message Date
Tim Mayberry
e3364b72cc Add function PBD::sys::copy_file intended to replace PBD::copy_file
Basically moving PBD::copy_file implementation to pbd/filesystem.h/cc.
The implementation itself looks like it could be improved to use
much less memory when copying big files by reading and writing in
chunks but I don't think that is an issue at present.


git-svn-id: svn://localhost/ardour2/trunk@2376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:48:13 +00:00
Tim Mayberry
653a552da5 Use functions in pbd/filesystem.h in Session::save_state for portability
Add ARDOUR::temp_suffix to ardour/filename_extensions.h/cc


git-svn-id: svn://localhost/ardour2/trunk@2375 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:48:11 +00:00
Tim Mayberry
b49e50afac Use functions from pbd/filesystem.h in Session::remove_state for portability
Add ARDOUR::backup_suffix to ardour/filename_extensions.h/cc


git-svn-id: svn://localhost/ardour2/trunk@2374 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:48:09 +00:00
Tim Mayberry
911e30a73a Use sys::remove instead of ::unlink in Session::remove_pending_capture_state for portability
git-svn-id: svn://localhost/ardour2/trunk@2373 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:48:06 +00:00
Tim Mayberry
29842063e3 Add function PBD::sys::remove as a wrapper to g_unlink
API is intended to be indentical(apart from the string type) to boost::filesystem::remove


git-svn-id: svn://localhost/ardour2/trunk@2372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:48:04 +00:00
Tim Mayberry
f9c202dba0 Use PBD::sys::path and SessionDirectory in Session::remove_pending_capture_state for portability
git-svn-id: svn://localhost/ardour2/trunk@2371 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:47:54 +00:00
Tim Mayberry
96034486b2 Use sys::path and SessionDirectory in Session::create_session_file_from_template for portability
git-svn-id: svn://localhost/ardour2/trunk@2370 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:47:51 +00:00
Tim Mayberry
3b937a7c44 Rename PBD::SearchPath::get_string to PBD::SearchPath::to_string
git-svn-id: svn://localhost/ardour2/trunk@2369 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:47:48 +00:00
Tim Mayberry
39cd07a969 Use sys::path and SessionDirectory classes in Session::load_state for portability
git-svn-id: svn://localhost/ardour2/trunk@2368 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:47:44 +00:00
Tim Mayberry
54f525770f Use PBD::sys::exists instead of Glib::file_test in Session::load_state
git-svn-id: svn://localhost/ardour2/trunk@2367 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-04 04:47:41 +00:00
David Robillard
51c0f6c442 Reading of MIDI CC from MIDI regions (MidiModel). UI still needs work though..
Various fixes for linear/integer AutomationList interpolation (for CC).


git-svn-id: svn://localhost/ardour2/trunk@2359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-31 05:02:45 +00:00
David Robillard
056b2a59d5 Split MidiModel::Note out to ARDOUR::Note in it's own file (midi_model.h was getting fat).
Initial work on MidiModel iterator.


git-svn-id: svn://localhost/ardour2/trunk@2355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-28 17:48:37 +00:00
David Robillard
e486a8d86f Per-region MIDI CC "automation".
Extremely broken in several ways.
This commit brought to you by the letters D, R, and my need to switch machines.


git-svn-id: svn://localhost/ardour2/trunk@2323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-17 17:25:20 +00:00
David Robillard
f9a7388d7a Make SMFSource suck significantly less.
Read from MidiRingbuffer directly into model, don't read MidiRingBuffer into a new midi buffer, then into the model.
Pass rec data to UI via model instead of a separate buffer.
Read MIDI CC data into MidiModel (though not actually used yet).
Made quantization toggle edited flag so model is saved.


git-svn-id: svn://localhost/ardour2/trunk@2308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-16 01:25:58 +00:00
Carl Hetherington
4bd83a409e Fix segfault due to uninitialised variable
git-svn-id: svn://localhost/ardour2/trunk@2299 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-14 10:49:29 +00:00
David Robillard
2f84a7792b Remove excessive SMF "Wrote EOT" printing.
Shave a few bytes off each ControlPoint if not used by a Curve (24 bytes on 64-bit).


git-svn-id: svn://localhost/ardour2/trunk@2294 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-13 20:27:38 +00:00
David Robillard
67a0d6b2d9 Fix (edited) MIDI saving restoring (restore note offs/durations correctly).
git-svn-id: svn://localhost/ardour2/trunk@2292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-13 15:32:29 +00:00
David Robillard
5156998e6e Saving of edited MIDI data to disk (on session save).
Seems to be a pretty random problem with note duration restoring though...


git-svn-id: svn://localhost/ardour2/trunk@2290 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-11 06:17:42 +00:00
David Robillard
861181d742 Fix MIDI file names on recording (don't write out a ton of useless empty .mid files).
Preliminary hooks for writing model to file (still does nothing).


git-svn-id: svn://localhost/ardour2/trunk@2289 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-11 00:22:57 +00:00
David Robillard
b6855bc209 Fix crash on audio region bounce. Not sure if it's correct though...
git-svn-id: svn://localhost/ardour2/trunk@2288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-10 23:28:53 +00:00
David Robillard
8f6a131e41 Fix note separator lines from stealing mouse events.
Fix shutdown crash (one of many, namely the least nasty).
Failed attempt at getting MIDI edits to apply ASAP (Diskstream::playlist_modified isn't the magic I'd hoped it was).


git-svn-id: svn://localhost/ardour2/trunk@2265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-07 20:51:24 +00:00
David Robillard
c80e9d4ac9 Fix note-offs during playback from model.
git-svn-id: svn://localhost/ardour2/trunk@2262 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-07 00:28:06 +00:00
Paul Davis
d07f541cdf slightly improved fixes for MIDI issues
git-svn-id: svn://localhost/ardour2/trunk@2260 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 17:50:23 +00:00
David Robillard
6529c7994f Fix startup crashes from recent MIDI stuff.
git-svn-id: svn://localhost/ardour2/trunk@2259 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 17:44:07 +00:00
David Robillard
b0efb9f434 Added missing files.
git-svn-id: svn://localhost/ardour2/trunk@2258 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 16:43:14 +00:00
Paul Davis
b9b6ba8be4 merge changes to libmidi++ API from 2.0-ongoing
git-svn-id: svn://localhost/ardour2/trunk@2256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 14:19:19 +00:00
David Robillard
f68caf23dd Genericificationalizeified AudioFilter (now Filter).
Added primitive (non-undoable, placeholder, etc) quantization.


git-svn-id: svn://localhost/ardour2/trunk@2254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 05:30:18 +00:00
Tim Mayberry
d594470148 Fix for deadlock in Session::remove_source that was committed in rev 1815
git-svn-id: svn://localhost/ardour2/trunk@2253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 04:45:24 +00:00
David Robillard
53415b270c Little MidiEvent prettification additions, ifdef'd non-realtime aspects (for future purposes).
Fix MIDI recording crash bug.


git-svn-id: svn://localhost/ardour2/trunk@2228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-02 21:08:18 +00:00
David Robillard
cfda46ba3e ... commit in top level instead of gtk2_ardour. whoops.
git-svn-id: svn://localhost/ardour2/trunk@2219 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-02 04:45:16 +00:00
David Robillard
874f3bbf8b Fix note delete crash bug.
Fix midi recording crash bug.


git-svn-id: svn://localhost/ardour2/trunk@2216 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-01 23:18:56 +00:00
Paul Davis
6698f5f686 use XML state to store processors in mixer (strips) and fixup crash caused by missing AutomationController for integer LADSPA plugin params
git-svn-id: svn://localhost/ardour2/trunk@2215 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-01 22:18:46 +00:00
David Robillard
d7db3f757f Better MidiModel command framework, ready to go for all your canvas editing needs.
Rewrote MidiEvent to be a well-behaved self-contained object that optionally owns it's buffer, has proper copying semantics, etc.
Fixed crazy bugs triggered by adding lots of events with varying times to a region.
Speed up initial session display significantly (don't redraw each MIDI region tons of times, though still happens more than once and can use fixing...).


git-svn-id: svn://localhost/ardour2/trunk@2213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-01 20:50:09 +00:00
Paul Davis
41c0847c57 extend filtering to VST + AU, tweak details, add filter-by-creator and by library
git-svn-id: svn://localhost/ardour2/trunk@2199 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-31 16:03:35 +00:00
David Robillard
bb33e5d9f8 Get MidiRegionView's hands on MidiModel for editing operations to come.
MIDI select rectangle.
Add notes on a proper click only (not mouse down).
Fix crash when dragging from region to outside region.


git-svn-id: svn://localhost/ardour2/trunk@2196 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-31 02:16:46 +00:00
Tim Mayberry
ea5a4eac10 Use correct install path for powermate control surface module on x86_64. Fixes bug 1764.
git-svn-id: svn://localhost/ardour2/trunk@2195 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-31 02:00:23 +00:00
Taybin Rutkin
8756647ab9 - build fixes for OS X.
-- casts for vDSP in mix.cc
-- fix for PluginInsert::PluginControl usage
-- disable POWERMATE if POWERMATE=0



git-svn-id: svn://localhost/ardour2/trunk@2193 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-31 00:48:10 +00:00
Paul Davis
f59870b49f another minor fix for gtkmm breakage with Gtk::Settings::get_default() in not-entirely current gtkmm releases
git-svn-id: svn://localhost/ardour2/trunk@2191 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-30 23:08:06 +00:00
David Robillard
2cbaa2751c Basic canvas note event handling framework.
Note dragging (non-functional).


git-svn-id: svn://localhost/ardour2/trunk@2187 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-30 16:33:10 +00:00
David Robillard
633d9131af Use 'show contents' note range by default (fix uninitialized value).
Obey note mode on playback (note offs are not sent in Percussive mode).
Vary note colour/opacity with velocity (needs theization/tweaking, but hey, it's something).


git-svn-id: svn://localhost/ardour2/trunk@2184 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-28 09:01:19 +00:00
David Robillard
6e167cb1a8 Playback from MIDI model, playback of clicked-in events.
Note the diskstream chunk size affects reading of clicked-in, so you may need to seek away and back again to have new events read (this will be fixed).


git-svn-id: svn://localhost/ardour2/trunk@2183 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-28 07:09:21 +00:00
Sampo Savolainen
71452634a7 Protect ardour from sessions with errant capture sources stored in the
session state.



git-svn-id: svn://localhost/ardour2/trunk@2177 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-24 19:17:29 +00:00
Sampo Savolainen
722ea289a7 Workaround / safeguard which should enable punching in more than once
due to wrongly set last_recordable_frame.


git-svn-id: svn://localhost/ardour2/trunk@2170 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-21 13:16:36 +00:00
David Robillard
823a1d36c1 Remove random access interface from MidiBuffer, towards killing fixed/limited event size assumption.
git-svn-id: svn://localhost/ardour2/trunk@2159 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-20 05:37:24 +00:00
David Robillard
58d8a71597 Trimmed some code by removing silly Java-isms.
Real men make references to functions, and like it!


git-svn-id: svn://localhost/ardour2/trunk@2158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-20 04:30:21 +00:00
David Robillard
f9717abf01 Fix absolutely atrocious memory leak on MIDI recording. I meeean... move along now, nothing to see here.
Fix SMFSource to realloc a scratch read buffer as necessary, removing upper limit on single raw event size.
Remove public exposure of MidiBuffer::max_event_size (though it still exists internally).
Fix crash bug on MIDI record completion (transport stop).


git-svn-id: svn://localhost/ardour2/trunk@2157 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-20 03:18:36 +00:00
David Robillard
6a4bd8e926 Added Note tool to Keymouse Actions menu and gave it a hotkey (n).
Removed excessive MIDI debug messages.
Fixed stuck note resolution bug, rewrote MidiModel "recording" stuff to be stronger, faster, better.
We have the technology.


git-svn-id: svn://localhost/ardour2/trunk@2156 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-20 01:56:19 +00:00
David Robillard
f542fa693c Midi pencil undo (not yet serializable).
Formatting fixes for session.h (ie kill more of those damned 8 space expanded tabs).


git-svn-id: svn://localhost/ardour2/trunk@2135 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-17 01:48:42 +00:00
Paul Davis
37c74810d2 support for 16 bit native files, part II
git-svn-id: svn://localhost/ardour2/trunk@2134 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-16 22:06:35 +00:00
David Robillard
94f329cd1e Fix formatting of command stuff to adhere to The Guidelines(TM).
git-svn-id: svn://localhost/ardour2/trunk@2130 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-16 18:32:31 +00:00