アットウィキロゴ
 
p.5
NiVE2.Plugin.Interface
interface ILayer
レイヤーの情報を提供します。
interface IComposition
コンポジションの情報を提供します。
interface IEffect
エフェクトの情報を提供します。


ILayer

Summary
int ItemCode
strnig ItemName
double ResolutionRate
実際の解像度との比。
double InPoint
開始位置の時間。
double OutPoint
終了位置の時間。
double Position
このレイヤーのコンポジションでの位置。
double Duration
double Length
bool IsImage
bool IsSpecialItem
bool EnableReverse
逆再生が有効かどうか(さすがにこの名前はまずいですね・・・別の意味になる)。
bool EnableVideo
ビデオ、またはレイヤーが有効かどうか(同上)。
bool EnableAudio
オーディオが(ry
bool HaveVideo
アイテムがビデオを持つかどうか(Hasですね・・・)。
bool HaveAudio
アイテムがオーディオを(ry
bool EnableMotionBlur
このレイヤーにモーションブラーを適用するか(ry
bool EnableHighRenderingQuality
高画質(ry
bool Enable3D
3D(ry
bool EnableEffect
エフェクトが(ry
bool HaveSimulationEffect
シミュレーション系のエフェクトを(ry
SpecialItemType SpecialItemType
FrameBlendMode FrameBlendMode
CompositionSetting CompositionSetting
ILayer ParentLayer
IEffect[] GetEffect()
ROD GetEffectProperty(EffectBase effect, double time)
RectangleF GetImageBounds(double time)
NBitmap GetSourceImage(double time)
Byte[] GetSourceAudio(double time, double length)
double ToWorldTime(double local)
このレイヤーのローカル時間をコンポジション時間に変換する。
double ToLocalTime(double world)
その逆。


nicoAE.Plugin.Interface.IHostと見比べてみる

○IHost : プロジェクトの情報を取得します。(本体で実装)
     これらの値は編集時にユーザーによって何度も変更される場合があります。

 メンバ:

  • Size ProjectSize
 プロジェクトの出力時の画面サイズ。
 // GetImageBounds(0).Size.ToSize()

  • double ProjectFrameRate
 プロジェクトの出力時のフレームレート。
 // CompositionSetting.FrameRate

  • int ProjectLength
 プロジェクトの長さ。
 // (int)CompositionSetting.Length

  • string ProjectPath
 プロジェクトのディレクトリ。
 // 不可能っぽい

  • PresentState State
 プログラムの状態。
 // -> Loading, Editing, Rendering, UnLoading
 // ICompositionが取れればいけるけど、CompositionSettingじゃ無理っぽい

  • bool MultiThread
 ユーザーがマルチスレッドを有効にしているかどうかを取得します。
 // 不可能っぽい

  • ITimeline[] GetTimeline()
 トラックを取得します。
 // 不可能っぽい

  • event EventHandler StateChanged
 プログラムの状態が変更されたときに発生します。

  • event EventHandler TimelineAddOrRemove
 タイムラインが削除、または追加された場合に発生します。






最終更新:2010年03月21日 04:24