5 // Created by 柳 on 09/09/12.
6 // Copyright 2009 __MyCompanyName__. All rights reserved.
10 // ElisLayerへのアクセスはここを経由して。(KVO以外)
12 // もう一段モデルを噛ませたほうがよかったなあといまさら。
14 #import <Cocoa/Cocoa.h>
18 #import "ElisAnimationLayerFactory.h"
19 #import "ElisTimeLineController.h"
20 #import "ElisCustomFilter.h"
21 #import "ElisWriter.h"
23 @class ElisMainView, ElisTimeLineController, ElisPropertyTableController;
25 CGRect ProjectMovieSize;
26 QTTime globalCurrentTime;
30 @interface ElisController : NSObject {
31 NSMutableArray* layers; // 全てのレイヤーはここに束縛
32 IBOutlet ElisMainView* _mainView;
33 ElisAnimationLayerFactory* _animationLayerFactory;
34 IBOutlet ElisTimeLineController* _timeLineController;
35 IBOutlet ElisPropertyTableController* _tableController;
36 IBOutlet NSWindow* _mainWindow;
37 IBOutlet ElisWriter* _writer;
41 BOOL playing; // YES = 再生中
42 NSGarbageCollector* collector; // GCの制御用。
45 IBOutlet NSSlider* timeSlider;
46 IBOutlet NSTextField* timeCodeField;
48 #ifdef __SNOW_LEOPARD_GCD__
55 - (IBAction)startPlay:(id)sender;
56 - (IBAction)stopPlay:(id)sender;
57 - (IBAction)timeSliderChanged:(id)sender;
58 - (void)moveSliderTo:(QTTime)time;
60 - (void)getSoundTrack:(NSMutableArray*)soundTrack;
61 - (IBAction)deleteSelectLayer:(id)sender;
62 - (IBAction)recordingStateChanged:(id)sender;
63 - (IBAction)removeAllKeyFrame:(id)sender;
64 - (IBAction)removeEffect:(id)sender;
66 - (IBAction)writeToFile:(id)sender;
67 - (IBAction)openProjectSaveDialog:(id)sender;
68 - (IBAction)openProjectLoadDialog:(id)sender;
69 - (IBAction)rewriteProject:(id)sender;
71 - (IBAction)changeToSmallWindiw:(id)sender;