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 |