From: Tim E. R. <ter...@ro...> - 2012-06-13 03:54:06
|
On June 8, 2012 10:15:32 AM Geoff Beasley wrote: > OK, It's important that we change this. I vote for Tracks and Objects; A > Track is a slot on the timeline ; an Object is simply any data block of > any kind recorded,imported or pasted into a track. > > > thoughts? > > g > Aw OK didn't read this uh, part. OK essentially you are correct. The goal in my mind when describing bits and pieces of MusE is, like any modern large software, describe them in terms of 'objects' which is the lowest common denominator since there may be many things BASED upon those objects (we call it object inheritance). This is, after all, object oriented software, or at least should strive to be. For example you are correct in that we have a programming class called Pos (position) which simply describes any 'position' either in terms of frames or ticks. Pos is the lowest common class, there is no lower than it. Class PosLen inherits class Pos adding a 'length' dimension to the object. Then, class 'Part' inherits class 'PosLen' adding in all the various common functionality that a part has. Finally we have class WavePart and class MidiPart which inherit class Part, each adding specific wave part or midi part functionality. Therefore I believe you are correct in calling midi parts and wave parts 'objects'. You would also be correct in calling notes in the piano roll 'objects' since they also have a line of inheritance. Even the several classes of tracks can be called 'objects', having a common base class Track. Just, I believe you should make sure you fully qualify your use of the term 'object' (call it the final class name) when necessary. For example "... objects such as wave parts or midi parts are placed on the track..." "... select all the note objects on the canvas..." "... select all the event objects on the controller graph... " "... any object on the track can be deleted by..." How 'bout that guys? Sound OK? That what you had in mind G? I was heavily influenced by the likes of Borland Delphi/BCB with its 'object inspector' which allowed you to select several /different/ types of objects, and as long as they shared a common base object class, you could edit /properties/ of the objects which were common to all of them, all while they're still all selected. I've been yapping about this for MusE for a while now for Track properties. It's how I try to design any large object oriented piece of software. Cheers. Tim. |