OSDN Git Service

add small window mode
[eliscolors/main.git] / ElisController.h
1 //
2 //  ElisController.h
3 //  Elis Colors
4 //
5 //  Created by 柳 on 09/09/12.
6 //  Copyright 2009 __MyCompanyName__. All rights reserved.
7 //
8
9 // Elisの一番たいせつなコントローラ。
10 // ElisLayerへのアクセスはここを経由して。(KVO以外)
11
12 // もう一段モデルを噛ませたほうがよかったなあといまさら。
13
14 #import <Cocoa/Cocoa.h>
15 #import "ElisBase.h"
16 #import "ElisMedia.h"
17 #import "ElisLayer.h"
18 #import "ElisAnimationLayerFactory.h"
19 #import "ElisTimeLineController.h"
20 #import "ElisCustomFilter.h"
21 #import "ElisWriter.h"
22
23 @class ElisMainView, ElisTimeLineController, ElisPropertyTableController;
24
25 CGRect ProjectMovieSize;
26 QTTime globalCurrentTime;
27 BOOL recording;
28 int timeLineXShift;
29
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;
38     
39     float hipTime;
40     QTTime _currentTime;
41     BOOL playing; // YES = 再生中
42     NSGarbageCollector* collector; // GCの制御用。
43     NSString* savePath;
44     
45     IBOutlet NSSlider* timeSlider;
46     IBOutlet NSTextField* timeCodeField;
47     
48 #ifdef __SNOW_LEOPARD_GCD__
49     dispatch_queue_t diq;
50 #endif
51 }
52
53 - (float)getHipTime;
54
55 - (IBAction)startPlay:(id)sender;
56 - (IBAction)stopPlay:(id)sender;
57 - (IBAction)timeSliderChanged:(id)sender;
58 - (void)moveSliderTo:(QTTime)time;
59 - (void)refresh;
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;
65
66 - (IBAction)writeToFile:(id)sender;
67 - (IBAction)openProjectSaveDialog:(id)sender;
68 - (IBAction)openProjectLoadDialog:(id)sender;
69 - (IBAction)rewriteProject:(id)sender;
70
71 - (IBAction)changeToSmallWindiw:(id)sender;
72
73 @end