00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00045 #ifndef __MK_Score_H___
00046 #define __MK_Score_H___
00047
00048 #import <Foundation/NSObject.h>
00049
00050 @class MKNote;
00051
00062 typedef enum {
00063 MK_UNRECOGNIZEDFORMAT,
00064 MK_MIDIFILE,
00065 MK_SCOREFILE,
00066 MK_PLAYSCORE,
00067 MK_MUSICXML
00068 } MKScoreFormat;
00069
00070 @interface MKScore: NSObject
00071 {
00073 NSMutableArray *parts;
00075 NSMutableData *scorefilePrintStream;
00077 MKNote *info;
00078 }
00079
00088 - init;
00089
00093 - (void) dealloc;
00094
00095
00096
00097
00098
00099 - releaseNotes;
00100
00104 - (void) removeAllParts;
00105
00114 - readScorefile: (NSString *) fileName;
00115
00124 - readScorefileStream: (NSData *) stream;
00125
00138 - readScorefile: (NSString *) fileName
00139 firstTimeTag: (double) firstTimeTag
00140 lastTimeTag: (double) lastTimeTag
00141 timeShift: (double) timeShift;
00142
00155 - readScorefileStream: (NSData *) stream
00156 firstTimeTag: (double) firstTimeTag
00157 lastTimeTag: (double) lastTimeTag
00158 timeShift: (double) timeShift;
00159
00168 - writeScorefile: (NSString *) aFileName;
00169
00179 - writeScorefileStream: (NSMutableData *) aStream;
00180
00193 - writeScorefile: (NSString *) aFileName
00194 firstTimeTag: (double) firstTimeTag
00195 lastTimeTag: (double) lastTimeTag
00196 timeShift: (double) timeShift;
00197
00210 - writeScorefileStream: (NSMutableData *) aStream
00211 firstTimeTag: (double) firstTimeTag
00212 lastTimeTag: (double) lastTimeTag
00213 timeShift: (double) timeShift;
00214
00223 - writeOptimizedScorefile: (NSString *) aFileName;
00224
00232 - writeOptimizedScorefileStream: (NSMutableData *) aStream;
00233
00246 - writeOptimizedScorefile: (NSString *) aFileName
00247 firstTimeTag: (double) firstTimeTag
00248 lastTimeTag: (double) lastTimeTag
00249 timeShift: (double) timeShift;
00250
00260 - writeOptimizedScorefileStream: (NSMutableData *) aStream
00261 firstTimeTag: (double) firstTimeTag
00262 lastTimeTag: (double) lastTimeTag;
00263
00276 - writeOptimizedScorefileStream: (NSMutableData *) aStream
00277 firstTimeTag: (double) firstTimeTag
00278 lastTimeTag: (double) lastTimeTag
00279 timeShift: (double) timeShift;
00280
00295 - readMidifile: (NSString *) aFileName
00296 firstTimeTag: (double) firstTimeTag
00297 lastTimeTag: (double) lastTimeTag
00298 timeShift: (double) timeShift;
00299
00313 - readMidifileStream: (NSMutableData *) aStream
00314 firstTimeTag: (double) firstTimeTag
00315 lastTimeTag: (double) lastTimeTag
00316 timeShift: (double) timeShift;
00317
00327 - readMidifile: (NSString *) fileName;
00328
00369 - readMidifileStream: (NSMutableData *) aStream;
00370
00384 - writeMidifile: (NSString *) aFileName
00385 firstTimeTag: (double) firstTimeTag
00386 lastTimeTag: (double) lastTimeTag
00387 timeShift: (double) timeShift;
00388
00400 - writeMidifileStream: (NSMutableData *) aStream
00401 firstTimeTag: (double) firstTimeTag
00402 lastTimeTag: (double) lastTimeTag
00403 timeShift: (double) timeShift;
00404
00410 - writeMidifileStream: (NSMutableData *) aStream;
00411
00429 - writeMidifile: (NSString *) aFileName;
00430
00435 - (unsigned) noteCount;
00436
00449 - (MKPart *) replacePart: (MKPart *) oldPart with: (MKPart *) newPart;
00450
00458 - addPart: (MKPart *) aPart;
00459
00465 - removePart: (MKPart *) aPart;
00466
00472 - shiftTime: (double) shift;
00473
00479 - scaleTime: (double) scale;
00480
00487 - (double) earliestNoteTime;
00488
00494 - (BOOL) isPartPresent: (MKPart *) aPart;
00495
00506 - (MKPart *) midiPart: (int) aChan;
00507
00512 - (unsigned) partCount;
00513
00520 - (NSMutableArray *) parts;
00521
00526 - (NSArray *) notes;
00527
00533 - (NSArray *) notesBetweenFirstTimeTag: (double) firstTimeTag
00534 lastTimeTag: (double) lastTimeTag;
00535
00539 - combineNotes;
00540
00548 - copyWithZone: (NSZone *) zone;
00549
00556 - (void) setInfoNote: (MKNote *) aNote;
00557
00562 - (MKNote *) infoNote;
00563
00568 - (void) setScorefilePrintStream: (NSMutableData *) aStream;
00569
00574 - (NSMutableData *) scorefilePrintStream;
00575
00576
00577
00578
00579
00580 - (void) encodeWithCoder: (NSCoder *) aCoder;
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592 - (id) initWithCoder: (NSCoder *) aDecoder;
00593
00627 + setMidifilesEvaluateTempo: (BOOL) yesOrNo;
00628
00635 + (BOOL) midifilesEvaluateTempo;
00636
00642 + (NSArray *) midifileExtensions;
00643
00649 + (NSArray *) scorefileExtensions;
00650
00655 + (void) setAlternativeScorefileExtensions: (NSArray *) otherScoreFileExtensions;
00656
00663 + (NSArray *) fileExtensions;
00664
00672 + (NSArray *) bundleExtensions;
00673
00678 + (MKScore *) score;
00679
00685 + (MKScoreFormat) scoreFormatOfData: (NSData *) fileData;
00686
00692 + (MKScoreFormat) scoreFormatOfFile: (NSString *) filename;
00693
00703 - writeScorefile: (NSString *) aFileName
00704 firstTimeTag: (double) firstTimeTag
00705 lastTimeTag: (double) lastTimeTag;
00706
00716 - writeScorefileStream: (NSMutableData *) aStream
00717 firstTimeTag: (double) firstTimeTag
00718 lastTimeTag: (double) lastTimeTag;
00719
00729 - readScorefile: (NSString *) fileName
00730 firstTimeTag: (double) firstTimeTag
00731 lastTimeTag: (double) lastTimeTag;
00732
00742 - readScorefileStream: (NSMutableData *) stream
00743 firstTimeTag: (double) firstTimeTag
00744 lastTimeTag: (double) lastTimeTag;
00745
00755 - writeOptimizedScorefile: (NSString *) aFileName
00756 firstTimeTag: (double) firstTimeTag
00757 lastTimeTag: (double) lastTimeTag;
00758
00772 - readMidifile: (NSString *) aFileName
00773 firstTimeTag: (double) firstTimeTag
00774 lastTimeTag: (double) lastTimeTag;
00775
00786 - readMidifileStream: (NSMutableData *) aStream
00787 firstTimeTag: (double) firstTimeTag
00788 lastTimeTag: (double) lastTimeTag;
00789
00800 - writeMidifile: (NSString *) aFileName
00801 firstTimeTag: (double) firstTimeTag
00802 lastTimeTag: (double) lastTimeTag;
00803
00813 - writeMidifileStream: (NSMutableData *) aStream
00814 firstTimeTag: (double) firstTimeTag
00815 lastTimeTag: (double) lastTimeTag;
00816
00823 - (MKPart *) partTitled: (NSString *) partTitleToFind;
00824
00830 - (MKPart *) partNamed: (NSString *) partNameToFind;
00831
00832 @end
00833
00834 #endif