VocalEasel/Sources/VLDocument.h

116 lines
3.1 KiB
C
Raw Normal View History

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-2011 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
@class VLSheetWindow;
@class VLPDFWindow;
@class VLLogWindow;
2007-04-18 08:25:43 +00:00
@class PDFDocument;
2006-09-11 02:49:56 +00:00
#define VLBIABType @"VLBIABType"
#define VLNativeType @"org.aereperennius.vocaleasel-song"
#define VLLilypondType @"org.lilypond.lilypond-source"
#define VLMusicXMLType @"VLMusicXMLType"
#define VLMMAType @"VLMMAType"
#define VLMIDIType @"public.midi"
#define VLPDFType @"com.adobe.pdf"
#define VLAIFFType @"public.aifc-audio"
#define VLMP3Type @"public.mp3"
enum {
kVLPlayAccompaniment = 1,
kVLPlayMelody = 2,
kVLPlayMetronome = 4,
2008-01-24 01:29:18 +00:00
kVLPlayCountIn = 8,
kVLPlayGroovePreview = 32768
};
2006-09-11 02:49:56 +00:00
@interface VLDocument : NSDocument
{
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;
2011-07-24 03:32:43 +00:00
float topPadding;
float titlePadding;
float staffPadding;
float chordPadding;
float lyricPadding;
int playElements;
NSString * tmpPath;
NSFileWrapper * vcsWrapper;
NSMutableArray* observers;
NSMutableDictionary*validTmpFiles;
int repeatVolta;
bool brandNew;
2008-07-05 13:56:51 +00:00
bool hasMusicSequence;
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;
2008-05-29 18:54:30 +00:00
float playRate;
2008-07-06 11:07:41 +00:00
float baseTempo;
2006-09-11 02:49:56 +00:00
}
- (VLSong *) song;
- (NSNumber *) songKey;
- (NSNumber *) songTime;
- (NSNumber *) songDivisions;
- (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-04-12 21:33:43 +00:00
- (void) changeOctave:(BOOL)up inSections:(NSRange)sections;
2008-01-23 01:20:09 +00:00
- (void) setRepeatVolta:(int)repeatVolta;
2006-10-03 17:52:54 +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;
- (IBAction) playStop:(id)sender;
2008-05-29 18:54:30 +00:00
- (IBAction) playMusic:(id)sender;
2008-07-06 11:08:39 +00:00
- (IBAction) adjustTempo:(id)sender;
- (IBAction) togglePlayElements:(id)sender;
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;
- (void) createTmpFileWithExtension:(NSString*)ext ofType:(NSString*)type;
2006-11-12 11:37:36 +00:00
- (NSTask *) taskWithLaunchPath:(NSString *)path arguments:(NSArray *)args;
- (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;
- (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: