00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 @class MKNote;
00019 @class MKScore;
00020 @class MKNoteSender;
00021
00180 #ifndef __MK_Part_H___
00181 #define __MK_Part_H___
00182
00183 #import <Foundation/NSObject.h>
00184
00185 @interface MKPart : NSObject
00186 {
00188 MKScore *score;
00190 NSMutableArray *notes;
00192 MKNote *info;
00194 unsigned int noteCount;
00196 BOOL isSorted;
00197
00198 @private
00199 MKNoteSender *_aNoteSender;
00200 NSMutableArray *_activePerformanceObjs;
00201 int _highestOrderTag;
00202 }
00203
00208 + (MKPart *) part;
00209
00215 + partWithName: (NSString *) partName;
00216
00225 - sort;
00226
00234 - (BOOL) isSorted;
00235
00251 - combineNotes;
00252
00264 - splitNotes;
00265
00275 - addToScore: (MKScore *) newScore;
00276
00285 - removeFromScore;
00286
00292 - init;
00293
00297 - (void) dealloc;
00298
00309 - releaseNotes;
00310
00322 - releaseSelfOnly;
00323
00337 - firstTimeTag: (double) firstTimeTag lastTimeTag: (double) lastTimeTag;
00338
00346 - (MKPart *) addNote: (MKNote *) aNote;
00347
00357 - (MKNote *) addNoteCopy: (MKNote *) aNote;
00358
00368 - (MKNote *) removeNote: (MKNote *) aNote;
00369
00376 - removeNotes: (NSArray *) aNoteList;
00377
00381 - (void) removeAllNotes;
00382
00399 - addNoteCopies: (NSArray *) aNoteList timeShift: (double) shift;
00400
00416 - addNotes: (NSArray *) aNoteList timeShift: (double) shift;
00417
00428 - shiftTime: (double) shift;
00429
00435 - scaleTime: (double) scale;
00436
00443 - (unsigned) noteCount;
00444
00451 - (BOOL) containsNote: (MKNote *) aNote;
00452
00457 - (BOOL) hasSoundingNotes;
00458
00465 - (BOOL) isEmpty;
00466
00477 - (MKNote *) atTime: (double) timeTag;
00478
00487 - (MKNote *) atOrAfterTime: (double) timeTag;
00488
00494 - (MKNote *) atOrBeforeTime: (double) timeTag;
00495
00505 - (MKNote *) nth: (unsigned) n;
00506
00516 - (MKNote *) atOrAfterTime: (double) timeTag nth: (unsigned) n;
00517
00527 - (MKNote *) atTime: (double) timeTag nth: (unsigned) n;
00528
00541 - (MKNote *) next: (MKNote *) aNote;
00542
00549 - (double) earliestNoteTime;
00550
00558 - copyWithZone: (NSZone *) zone;
00559
00571 - copy;
00572
00583 - (NSArray *) notes;
00584
00593 - (NSMutableArray *) notesNoCopy;
00594
00602 - (MKScore *) score;
00603
00610 - (MKNote *) infoNote;
00611
00660 - (void) setInfoNote: (MKNote *) aNote;
00661
00666 - (NSString *) partName;
00667
00673 - (void) setPartName: (NSString *) newPartName;
00674
00675 - (void) encodeWithCoder: (NSCoder *) aCoder;
00676 - (id) initWithCoder: (NSCoder *) aDecoder;
00677
00678 - (NSString *) description;
00679
00680 @end
00681
00682 #endif