VocalEasel/Sources/VLSheetView.h

112 lines
2.3 KiB
C
Raw Normal View History

2006-09-11 02:49:56 +00:00
//
// VLSheetView.h
// Vocalese
//
// Created by Matthias Neeracher on 12/17/05.
// Copyright 2005 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "VLModel.h"
@class VLDocument;
enum VLMusicElement {
2006-10-21 09:23:37 +00:00
kMusicNothing = 0,
kMusicGClef = 0,
2006-09-11 02:49:56 +00:00
kMusicFlat,
kMusicSharp,
kMusicNatural,
kMusicWholeNote,
kMusicHalfNote,
kMusicNote,
kMusicWholeRest,
kMusicHalfRest,
kMusicQuarterRest,
kMusicEighthRest,
kMusicSixteenthRest,
kMusicThirtysecondthRest,
kMusicEighthFlag,
kMusicSixteenthFlag,
kMusicThirtysecondthFlag,
kMusicNoteCursor,
2006-10-21 09:23:37 +00:00
kMusicFlatCursor,
kMusicSharpCursor,
kMusicNaturalCursor,
kMusicRestCursor,
2006-10-21 09:23:37 +00:00
kMusicKillCursor,
2006-09-11 02:49:56 +00:00
kMusicElements
};
enum VLRegion {
kRegionNowhere,
kRegionNote,
kRegionChord,
kRegionLyrics
};
enum VLRecalc {
kNoRecalc,
kRecalc,
kFirstRecalc
};
@class VLEditable;
2006-09-11 02:49:56 +00:00
@interface VLSheetView : NSView {
VLRecalc fNeedsRecalc;
char fClickMode;
float fClefKeyW;
float fMeasureW;
int fGroups;
int fQuarterBeats;
int fDivPerGroup;
int fMeasPerSystem;
int fNumSystems;
float fDisplayScale;
NSPoint fLastNoteCenter;
NSTrackingRectTag fCursorTracking;
2006-10-03 17:52:54 +00:00
VLRegion fCursorRegion;
int fCursorMeasure;
VLFract fCursorAt;
int fCursorPitch;
2006-10-21 09:23:37 +00:00
int fCursorActualPitch;
VLMusicElement fCursorAccidental;
2006-09-11 02:49:56 +00:00
IBOutlet id fFieldEditor;
2006-09-11 02:49:56 +00:00
}
- (IBAction) setKey:(id)sender;
- (IBAction) setTime:(id)sender;
- (IBAction) setDivisions:(id)sender;
- (IBAction) hideFieldEditor:(id)sender;
2006-09-11 02:49:56 +00:00
- (VLDocument *) document;
- (VLSong *) song;
- (NSImage *) musicElement:(VLMusicElement)elt;
2006-10-21 09:23:37 +00:00
- (int) stepWithPitch:(int)pitch;
2006-10-02 05:29:37 +00:00
- (float) systemY:(int)system;
2006-10-21 09:23:37 +00:00
- (float) noteYWithPitch:(int)pitch accidental:(VLMusicElement*)accidental;
- (float) noteYInMeasure:(int)measure withPitch:(int)pitch accidental:(VLMusicElement*)accidental;
2006-09-11 02:49:56 +00:00
- (float) noteXInMeasure:(int)measure at:(VLFraction)at;
2006-10-09 07:28:49 +00:00
- (void) scrollMeasureToVisible:(int)measure;
- (void) mouseMoved:(NSEvent *)event;
- (void) mouseDown:(NSEvent *)event;
- (void) mouseEntered:(NSEvent *)event;
- (void) mouseExited:(NSEvent *)event;
2006-10-03 17:52:54 +00:00
- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor;
- (VLEditable *) editTarget;
- (void) setEditTarget:(VLEditable *)editable;
2006-09-11 02:49:56 +00:00
@end
// Local Variables:
// mode:ObjC
// End: