2006-09-11 02:49:56 +00:00
|
|
|
//
|
2007-04-27 06:41:34 +00:00
|
|
|
// File: VLDocument.h - VocalEasel document
|
2006-09-11 02:49:56 +00:00
|
|
|
//
|
2007-04-27 06:41:34 +00:00
|
|
|
// Author(s):
|
|
|
|
//
|
|
|
|
// (MN) Matthias Neeracher
|
|
|
|
//
|
|
|
|
// Copyright © 2005-2007 Matthias Neeracher
|
2006-09-11 02:49:56 +00:00
|
|
|
//
|
|
|
|
|
|
|
|
#import "VLModel.h"
|
2006-10-03 17:52:54 +00:00
|
|
|
#import <Cocoa/Cocoa.h>
|
2006-12-04 07:04:24 +00:00
|
|
|
#import "VLKeyValueUndo.h"
|
2006-10-03 17:52:54 +00:00
|
|
|
|
2006-10-28 09:18:55 +00:00
|
|
|
@class VLSheetWindow;
|
|
|
|
@class VLPDFWindow;
|
|
|
|
@class VLLogWindow;
|
2007-04-18 08:25:43 +00:00
|
|
|
@class PDFDocument;
|
2006-09-11 02:49:56 +00:00
|
|
|
|
2007-12-03 17:45:56 +00:00
|
|
|
enum {
|
|
|
|
kVLPlayAccompaniment = 1,
|
|
|
|
kVLPlayMelody = 2,
|
|
|
|
kVLPlayMetronome = 4,
|
2008-01-24 01:29:18 +00:00
|
|
|
kVLPlayCountIn = 8,
|
|
|
|
kVLPlayGroovePreview = 32768
|
2007-12-03 17:45:56 +00:00
|
|
|
};
|
|
|
|
|
2006-09-11 02:49:56 +00:00
|
|
|
@interface VLDocument : NSDocument
|
|
|
|
{
|
2007-04-18 07:05:04 +00:00
|
|
|
VLSong * song;
|
|
|
|
NSString * lilypondTemplate;
|
|
|
|
NSString * songTitle;
|
|
|
|
NSString * songLyricist;
|
|
|
|
NSString * songComposer;
|
|
|
|
NSString * songArranger;
|
|
|
|
NSString * songGroove;
|
|
|
|
NSNumber * songTempo;
|
2008-01-26 16:38:30 +00:00
|
|
|
float chordSize;
|
|
|
|
float lyricSize;
|
|
|
|
float staffSize;
|
2007-12-03 17:45:56 +00:00
|
|
|
int playElements;
|
2007-04-18 07:05:04 +00:00
|
|
|
NSString * tmpPath;
|
|
|
|
NSFileWrapper * vcsWrapper;
|
|
|
|
NSMutableArray* observers;
|
|
|
|
NSMutableDictionary*validTmpFiles;
|
|
|
|
int repeatVolta;
|
|
|
|
bool brandNew;
|
|
|
|
VLSheetWindow * sheetWin;
|
|
|
|
VLLogWindow * logWin;
|
|
|
|
VLPDFWindow * pdfWin;
|
|
|
|
VLKeyValueUndo* undo;
|
2007-04-18 08:25:43 +00:00
|
|
|
PDFDocument * printDoc;
|
2008-01-24 01:29:18 +00:00
|
|
|
NSRange previewRange;
|
2006-09-11 02:49:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
- (VLSong *) song;
|
|
|
|
- (NSNumber *) songKey;
|
|
|
|
- (NSNumber *) songTime;
|
|
|
|
- (NSNumber *) songDivisions;
|
2006-12-30 09:57:40 +00:00
|
|
|
- (int) repeatVolta;
|
2007-01-21 11:34:40 +00:00
|
|
|
- (bool) brandNew;
|
2006-09-11 02:49:56 +00:00
|
|
|
|
2008-01-23 01:20:09 +00:00
|
|
|
- (void) setKey:(int)key transpose:(BOOL)transpose inSections:(NSRange)sections;
|
|
|
|
- (void) setTimeNum:(int)num denom:(int)denom inSections:(NSRange)sections;
|
|
|
|
- (void) setDivisions:(int)divisions inSections:(NSRange)sections;
|
|
|
|
- (void) setGroove:(NSString *)groove inSections:(NSRange)sections;
|
2008-01-24 01:29:18 +00:00
|
|
|
- (void) playWithGroove:(NSString *)groove inSections:(NSRange)sections;
|
2008-01-23 01:20:09 +00:00
|
|
|
|
|
|
|
- (void) setRepeatVolta:(int)repeatVolta;
|
2006-10-03 17:52:54 +00:00
|
|
|
|
2006-10-28 09:18:55 +00:00
|
|
|
- (IBAction) showOutput:(id)sender;
|
|
|
|
- (IBAction) showLog:(id)sender;
|
2007-04-23 05:46:37 +00:00
|
|
|
- (IBAction) play:(id)sender;
|
|
|
|
- (IBAction) stop:(id)sender;
|
2007-12-03 17:45:56 +00:00
|
|
|
- (IBAction) playStop:(id)sender;
|
|
|
|
- (IBAction) togglePlayElements:(id)sender;
|
|
|
|
- (IBAction) playStop:(id)sender;
|
2006-10-28 09:18:55 +00:00
|
|
|
|
2006-11-10 08:09:18 +00:00
|
|
|
- (NSString *) tmpPath;
|
|
|
|
- (NSString *) workPath;
|
|
|
|
- (NSString *) baseName;
|
2006-11-12 11:37:36 +00:00
|
|
|
- (NSURL *) fileURLWithExtension:(NSString*)extension;
|
2007-04-18 07:05:04 +00:00
|
|
|
- (void) createTmpFileWithExtension:(NSString*)ext ofType:(NSString*)type;
|
2006-11-12 11:37:36 +00:00
|
|
|
- (NSTask *) taskWithLaunchPath:(NSString *)path arguments:(NSArray *)args;
|
2007-01-12 09:01:19 +00:00
|
|
|
- (void) changedFileWrapper;
|
2006-12-04 07:04:24 +00:00
|
|
|
- (void) willChangeSong;
|
|
|
|
- (void) didChangeSong;
|
2007-04-16 05:35:52 +00:00
|
|
|
- (void) addObserver:(id)observer;
|
2007-04-18 07:05:04 +00:00
|
|
|
- (VLLogWindow *)logWin;
|
2006-11-10 08:09:18 +00:00
|
|
|
|
2006-09-11 02:49:56 +00:00
|
|
|
@end
|
2006-11-10 08:09:18 +00:00
|
|
|
|
|
|
|
// Local Variables:
|
|
|
|
// mode:ObjC
|
|
|
|
// End:
|