This is Note.m in view mode; [Download] [Up]
#import "Note.h" @implementation Note - init; { int i; [super init]; sound = nil; name1[0]=name2[0]='\0'; for(i=0;i<5;i++){ loc[i].string = -1; loc[i].fret = -1; } not1.nr = -1; not2.nr = -1; nr = 0; return self; } - (char *)name1; { return name1; } - (char *)name2; { return name2; } - (Sound *)sound; { return sound; } - (notationT *)not1; { return ¬1; } - (notationT *)not2; { return ¬2; } - (int)nr; { return nr; } - (locationT *)loc:(int)i; { if(i>=0 && i<5)return &loc[i]; return NULL; } - (void)setName1:(char *)value1 name2:(char *)value2; { if(value1)strncpy(name1, value1, 5); if(value2)strncpy(name2, value2, 5); } - (void)setNot1:(notationT *)value1 not2:(notationT *)value2; { if(value1){ not1.nr = value1->nr; not1.vorz = value1->vorz; } if(value2){ not2.nr = value2->nr; not2.vorz = value2->vorz; } } - (void)setNr:(int)value; { if(value >0 && value <= 47){ nr = value; [self computeLocFromNr]; [self getSound]; } } - (void)computeLocFromNr; { int i,j,n; static int offset[6] = {1,6,11,16,20,25}; for(i=0,j=0;i<6;i++){ n=nr-offset[i]; if(n>=0 && n<=22){ loc[j].string = i; loc[j].fret = n; j++; } } } - (void)setB:(BOOL)value; { b = value; } - (BOOL)b;{return b;} - (void)getSound; { char c[10]; //s00.snd if(!nr){ strcpy(c,"s48.snd"); }else{ sprintf(c,"s%02i.snd",nr-1); } sound = [Sound findSoundFor:c]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.