|
From: Patrick E. <pa...@pa...> - 2004-03-26 16:19:47
|
On Thursday 25 March 2004 19:26, Dave Fancella wrote:
> So, what I want to do with Jazz is store blocks of midi data in
> midi files, one track to a file, and organized in blocks of data.
> We don't need this for the RAM, but it would be useful for pattern
> support and unlimited undo. I want to use their exact project file
> format, extended to support midi blockfiles, and derive from their
> BlockFile class to create midi support.
Does that mean there would be a file for each track in a song? That
doesn't impress me much at all. I know I'll have many songs, and
having to manage each track sounds like a real annoyance.
I would rather that for midi data at least, the "song" files contain
all of the track data. Moving individual tracks between song files
would be a useful operation, and you could always copy the history
data along with the track itself. Tracks could still be
self-contained, but they needn't use multiple filesystem entries.
Blocking midi data also doesn't make a lot of sense to me. In an
audio file, what you have is a sequence of random bytes, so dividing
it up into smaller pieces can help with management. However, with
midi, everthing is well defined, so it makes some sense to define
history events in terms of the midi data itself. For example, you
can say something like:
Note On C4 added at location 2035.
Note Off C4 added at location 2055.
Section 1034 to 1500 deleted (previous data: XX XX XX XX XX)
> It has the disadvantage of having the project spread out into a
> bunch of small files. We can optimize for that, since midi files
> are so small we can still load the whole project into memory, and
> just clear out memory when something gets pushed to the history
> queue. There might be other ways to approach the problem of having
> all these files strewn about a directory hierarchy, but I think the
> advantages far outweigh the disadvantages and am fully prepared to
> defend this idea. :)
Okay, let's hash it out. :) My opinion is that it's good if midi
tracks are self contained entities and there are multiple tracks
within a single song file.
Patrick
|