Paul Davis
fcabd5d8ee
initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files
2014-07-08 00:53:13 -04:00
Paul Davis
23e7cf1019
merge with master.
...
Manually resolved conflicts in import.cc and session.cc
2014-07-01 09:46:18 -04:00
Tim Mayberry
cb6934a189
Remove unused header includes
2014-06-17 21:30:51 +10:00
John Emmas
fd50cf14dd
Keep this #include consistent with similar ones
...
(evoral/evoral doesn't get used anywhere else)
2014-06-03 14:02:05 +01:00
Paul Davis
8c9749e42f
merge with master and fix 4 conflicts by hand
2014-06-02 11:32:13 -04:00
Paul Davis
74bc0c8468
substantive changes to the logic and safety for naming of (audio/MIDI) sources, especially when created via import
2014-06-02 11:20:37 -04:00
Damien Zammit
2f6065b32c
Fixed problem where importing invalid midi files caused crash.
2014-04-29 06:48:29 +10:00
Paul Davis
f5276a104c
add new SMFSource constructor to be used for existing-external files. Fixes #5919 . Needs merging with CC
2014-04-28 10:37:17 -04:00
Paul Davis
be0da8ff5c
merge 5764970709 from cairocanvas as final(?) change related to data loss
2014-04-14 13:07:07 -04:00
Paul Davis
b49bb451d2
further code simplification and rationalization related to MIDI source/file renaming
2014-04-14 13:05:21 -04:00
Paul Davis
e1bf151ab0
after cloning a MIDI region, mark the source file as non-removable. Fixes reports about missing MIDI files on the forums and IRC
2014-04-14 13:00:24 -04:00
Paul Davis
5764970709
more work on linking file existence and removability
2014-04-14 03:03:35 -04:00
Paul Davis
b81d57f049
further code simplification and rationalization related to MIDI source/file renaming
2014-04-14 02:17:30 -04:00
Paul Davis
fc691cb3ba
after cloning a MIDI region, mark the source file as non-removable. Fixes reports about missing MIDI files on the forums and IRC
2014-04-04 15:26:44 -04:00
Paul Davis
713a375011
(backport from cairocanvas branch) do not crash when considering a directory called midi (with any case) as an apparent MIDI file
2014-02-27 20:37:17 -05:00
Paul Davis
dc4bb5b758
do not crash when considering a directory called midi (with any case) as an apparent MIDI file
2014-02-27 20:35:52 -05:00
Paul Davis
7000afdc66
fix merge conflict with master
2014-01-23 13:41:20 -05:00
Robin Gareus
1e3ad60eb6
take all tracks inside a midi-file into account when loading model
...
* fixes [region] length calculation,
* prepare for auditioning midi files (one track plays it all)
2014-01-22 15:30:14 +01:00
Robin Gareus
9e799c6146
open external [read-only] midi-files on construction
2014-01-22 15:30:09 +01:00
Paul Davis
15be154515
use g_unlink() rather than unlink() universally, requires <glib/gstdio.h> in several files
2013-07-15 14:29:00 -04:00
Paul Davis
25a7748068
match *.[mM][iI][dD][iI]$ as well as *.[mM][iI][dD] files when looking for MIDI files
2013-03-14 22:31:32 -04:00
David Robillard
e781c1cf0d
Fix MIDI loop recording.
...
This changes how things work a bit, but I am committing it for 3.0 since the
previous revision often crashed (and never worked), this one seems to work
fine, and the code is quite a bit more cogent.
I have tested the following use cases with live input and audible output:
* Non-loop recording, armed before roll
* Non-loop recording, arm while rolling
* Loop recording, armed before roll
* Loop recording, arm during roll
In the last case, the source/region is created starting at the loop start
rather than the current transport frame as usual so time makes sense when it
wraps around.
See the documentation added to the code for details, but the basic idea here is
to simply push MIDI events to the source with increasing monotonic time,
ignoring looping altogether. Essentially we pretend the loop does not exist,
but the source knows all the details so it can implement whatever behaviour is
appropriate.
Currently, this is simply recording a complete non-destructive copy of the
input, which is a good thing. Perhaps not what the user expects of loop
recording, but at least it works and is one sensible option. We will need to
add more later.
Display while recording is a little bit wacky, but whatever.
git-svn-id: svn://localhost/ardour2/branches/3.0@13940 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 06:00:15 +00:00
David Robillard
76547b5c4b
More style-only changes.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 02:35:53 +00:00
Paul Davis
e2ec54216b
use regex to match [mM][iI][dD] file extension for MIDI files, thus making it case-insensitive ( fixes #5231 )
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13855 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 17:09:52 +00:00
Paul Davis
760ccbabfb
add -Wpointer-arith -Wcast-qual -Wcast-align and others to compile flags, and fix const cast warnings generated by new flags
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-08-10 15:57:09 +00:00
Paul Davis
3cd8138a41
convert from Glib:: to Glib::Threads for all thread-related API
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
Paul Davis
3c252e9321
lots more fidgety work on automation. sort of works now, but undo/redo needs attention
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17 03:10:40 +00:00
Tim Mayberry
a2f5ff9535
Remove two unnecessary header includes of pbd/mountpoint.h
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12826 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 03:51:39 +00:00
David Robillard
6fa6514cfd
Remove over 500 unnecessary includes (including 54 of session.h).
...
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff). I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.
This commit only targets includes of ardour/*.h. There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.
git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
Carl Hetherington
2a9ceb74c4
Compute delta time correctly when appending events; the converter must be used to convert a source time, not a delta time, otherwise tempo / meter changes are not correctly accounted for.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10963 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-10 13:48:50 +00:00
Paul Davis
bcaccc5ece
stop spewing debug output from SMFSource
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10851 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-01 20:11:22 +00:00
Carl Hetherington
f6d191aec4
Remove debug code.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10603 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15 01:11:32 +00:00
Carl Hetherington
75e6adcf03
Remove unused read/write data count code.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-24 20:45:29 +00:00
David Robillard
18c2ee4a26
Remove dubious Evoral::Event methods that exposed non-const references to members.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10239 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19 18:11:31 +00:00
Paul Davis
c99738d88e
try to fix data loss at end of a capture pass for MIDI - add a new virtual method to MidiSource that specifies what should be done with stuck notes, remove duplicate(i hope) _last_flush_frame from SMFSource that mirrored, more or less, MidiSource::_last_write_end; use new virtual method when stopping after capture.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9910 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-20 18:13:03 +00:00
Paul Davis
828939a7f5
more MIDI I/O debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9901 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-19 11:57:09 +00:00
Paul Davis
a5efa9a500
initial pass at session-renaming functionality
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14 17:41:06 +00:00
Paul Davis
78eafdced6
more midi I/O debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9873 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14 12:59:51 +00:00
Paul Davis
1d17d43751
accept .MID as a MIDI file extension, not just .mid
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9839 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-11 16:10:45 +00:00
Paul Davis
9687e8a667
second half of "bomb out if playlist construction from XML fails"
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9759 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-22 20:06:10 +00:00
David Robillard
a473d630eb
Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 16:50:12 +00:00
Carl Hetherington
d7c836dc07
Ensure that empty drag-created MIDI regions get a file on disk so that there aren't missing file errors on reload ( #4024 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-08 23:45:33 +00:00
David Robillard
0906b39918
Fix my name :)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 15:00:16 +00:00
Paul Davis
ea9979b4b9
remove Evoral::RingBuffer, which was (a) duplicating PBD::RingBufferNPT and (b) broken; replace it with PBD::RingBufferNPT
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 19:01:12 +00:00
Paul Davis
3225b24854
move open-on-write call for MIDI into mark_streaming_midi_write_started() so that it works for the fork operation (or any other op that writes a new file)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 03:54:28 +00:00
Paul Davis
5e431d1d58
remove entire "stub" file concept; open new audio and MIDI files on demand (at first write); could be a few gotchas with some corner case scenarios, but apparently works OK
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-02 17:05:16 +00:00
Carl Hetherington
e47dd1a96a
Make sure that the MidiSource constructor doesn't set the wrong _flags.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8996 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01 02:04:34 +00:00
David Robillard
f6ed36a457
Fix more broken whitespace.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8314 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-20 22:51:17 +00:00
Carl Hetherington
7d4e03e28e
Use a weak_ptr rather than a bald pointer for _midi_source in MidiModel.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-09 21:34:31 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00