Skip to main content

EDIT_HANDLE

Struct EDIT_HANDLE 

Source
#[repr(C)]
pub struct EDIT_HANDLE {
Show 26 fields pub call_edit_section: unsafe extern "C" fn(func_proc_edit: unsafe extern "C" fn(edit: *mut EDIT_SECTION)) -> bool, pub call_edit_section_param: unsafe extern "C" fn(param: *mut c_void, func_proc_edit: unsafe extern "C" fn(param: *mut c_void, edit: *mut EDIT_SECTION)) -> bool, pub get_edit_info: unsafe extern "C" fn(info: *mut EDIT_INFO, info_size: i32), pub restart_host_app: unsafe extern "C" fn(), pub enum_effect_name: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_effect: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR, type: i32, flag: i32)), pub enum_module_info: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_module: unsafe extern "C" fn(param: *mut c_void, info: *mut MODULE_INFO)), pub get_host_app_window: unsafe extern "C" fn() -> HWND, pub get_edit_state: unsafe extern "C" fn() -> i32, pub call_read_section: unsafe extern "C" fn(func_proc_read_section: unsafe extern "C" fn(edit: *mut EDIT_SECTION)) -> bool, pub call_read_section_param: unsafe extern "C" fn(param: *mut c_void, func_proc_read_section: unsafe extern "C" fn(param: *mut c_void, edit: *mut EDIT_SECTION)) -> bool, pub enum_effect_item: unsafe extern "C" fn(effect: LPCWSTR, param: *mut c_void, func_proc_enum_effect_item: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR, type: i32)) -> bool, pub rendering_scene_video: unsafe extern "C" fn(frame: i32, param: *mut c_void, func_proc_rendering_video: unsafe extern "C" fn(param: *mut c_void, frame: i32, buffer: *const c_void, width: i32, height: i32, pitch: i32)) -> bool, pub rendering_scene_audio: unsafe extern "C" fn(frame: i32, param: *mut c_void, func_proc_rendering_audio: unsafe extern "C" fn(param: *mut c_void, frame: i32, buffer0: *const f32, buffer1: *const f32, sample_num: i32)) -> bool, pub wait_rendering_task: unsafe extern "C" fn(), pub enum_font_name: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_font: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR)), pub enum_palette_name: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_palette: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR)), pub rendering_object_video: unsafe extern "C" fn(object: OBJECT_HANDLE, frame: i32, apply_effect: bool, param: *mut c_void, func_proc_rendering_video: unsafe extern "C" fn(param: *mut c_void, frame: i32, buffer: *const c_void, width: i32, height: i32, pitch: i32)) -> bool, pub rendering_object_audio: unsafe extern "C" fn(object: OBJECT_HANDLE, frame: i32, apply_effect: bool, param: *mut c_void, func_proc_rendering_audio: unsafe extern "C" fn(param: *mut c_void, frame: i32, buffer0: *const f32, buffer1: *const f32, sample_num: i32)) -> bool, pub get_effect_item_group_names: unsafe extern "C" fn(effect: LPCWSTR, item: LPCWSTR, item_names: *mut LPCWSTR, item_num: i32, item_index: *mut i32) -> i32, pub enum_scene_name: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_scene: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR, scene_id: i32)), pub select_scene: unsafe extern "C" fn(scene_id: i32) -> bool, pub create_scene: unsafe extern "C" fn(name: LPCWSTR, label: LPCWSTR, width: i32, height: i32, rate: i32, scale: i32, sample_rate: i32, background: EDIT_INFO_COLOR) -> bool, pub create_project: unsafe extern "C" fn(width: i32, height: i32, rate: i32, scale: i32, sample_rate: i32, background: EDIT_INFO_COLOR, show_confirm: bool) -> bool, pub open_project_file: unsafe extern "C" fn(file: LPCWSTR, show_confirm: bool) -> bool, pub save_project_file: unsafe extern "C" fn(file: LPCWSTR) -> bool, pub output_file: unsafe extern "C" fn(file: LPCWSTR, output_plugin: LPCWSTR, param: *mut c_void, func_project_config: Option<unsafe extern "C" fn(param: *mut c_void, project: *mut PROJECT_FILE)>) -> bool,
}
Expand description

編集ハンドル構造体 get_host_app_window()以外はRegisterPlugin処理内から利用出来ません

Fields§

§call_edit_section: unsafe extern "C" fn(func_proc_edit: unsafe extern "C" fn(edit: *mut EDIT_SECTION)) -> bool

プロジェクトデータの編集をする為のコールバック関数(func_proc_edit)を呼び出します 編集情報を排他制御する為に更新ロック状態のコールバック関数内で編集処理をする形になります コールバック関数内で編集したオブジェクトは纏めてUndoに登録されます コールバック関数はメインスレッドから呼ばれます func_proc_edit : 編集処理のコールバック関数 戻り値 : trueなら成功 編集が出来ない場合(出力中等)に失敗します

§call_edit_section_param: unsafe extern "C" fn(param: *mut c_void, func_proc_edit: unsafe extern "C" fn(param: *mut c_void, edit: *mut EDIT_SECTION)) -> bool

call_edit_section()に引数paramを渡せるようにした関数です param : 任意のユーザーデータのポインタ

§get_edit_info: unsafe extern "C" fn(info: *mut EDIT_INFO, info_size: i32)

編集情報を取得します 編集情報を排他制御する為に参照ロックします。※同一スレッドで既にロック状態の場合はそのまま取得します。 info : 編集情報の格納先へのポインタ info_size : 編集情報の格納先のサイズ ※EDIT_INFOと異なる場合はサイズ分のみ取得されます

§restart_host_app: unsafe extern "C" fn()

ホストアプリケーションを再起動します

§enum_effect_name: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_effect: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR, type: i32, flag: i32))

エフェクト名の一覧をコールバック関数(func_proc_enum_effect)で取得します param : 任意のユーザーデータのポインタ func_proc_enum_effect : エフェクト名の取得処理のコールバック関数

§enum_module_info: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_module: unsafe extern "C" fn(param: *mut c_void, info: *mut MODULE_INFO))

モジュール情報の一覧をコールバック関数(func_proc_enum_module)で取得します param : 任意のユーザーデータのポインタ func_proc_enum_module : モジュール情報の取得処理のコールバック関数

§get_host_app_window: unsafe extern "C" fn() -> HWND

ホストアプリケーションのメインウィンドウのハンドルを取得します

§get_edit_state: unsafe extern "C" fn() -> i32

編集状態を取得します

§call_read_section: unsafe extern "C" fn(func_proc_read_section: unsafe extern "C" fn(edit: *mut EDIT_SECTION)) -> bool

プロジェクトデータを参照する為のコールバック関数(func_proc_read_section)を呼び出します 参照中にデータが更新されないように参照ロック状態のコールバック関数内で処理をする形になります EDIT_SECTIONの更新系の関数等は利用出来ません ※EDIT_SECTIONの各項目に記載しています コールバック関数は呼び出し元と同じスレッドで呼ばれます func_proc_read_section : コールバック関数 戻り値 : trueなら成功 参照が出来ない場合(出力中等)に失敗します

§call_read_section_param: unsafe extern "C" fn(param: *mut c_void, func_proc_read_section: unsafe extern "C" fn(param: *mut c_void, edit: *mut EDIT_SECTION)) -> bool

call_read_section()に引数paramを渡せるようにした関数です param : 任意のユーザーデータのポインタ

§enum_effect_item: unsafe extern "C" fn(effect: LPCWSTR, param: *mut c_void, func_proc_enum_effect_item: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR, type: i32)) -> bool

エフェクトの設定項目の一覧をコールバック関数(func_proc_enum_effect_item)で取得します effect : 対象のエフェクト名 (エイリアスファイルのeffect.nameの値) param : 任意のユーザーデータのポインタ func_proc_enum_effect_item : エフェクトの設定項目の取得処理のコールバック関数 戻り値 : 取得出来た場合はtrue (対象が見つからない場合は失敗します)

§rendering_scene_video: unsafe extern "C" fn(frame: i32, param: *mut c_void, func_proc_rendering_video: unsafe extern "C" fn(param: *mut c_void, frame: i32, buffer: *const c_void, width: i32, height: i32, pitch: i32)) -> bool

現在のシーンの映像のレンダリングをします この関数はレンダリングのタスクを追加するのみで完了します レンダリング完了時はイベント通知スレッドからコールバック関数が呼ばれます frame : レンダリング対象のフレーム番号 param : 任意のユーザーデータのポインタ func_proc_rendering_video : レンダリング完了時に呼ばれるコールバック関数 buffer : レンダリングした画像データへのポインタ ※PIXEL_RGBA形式 width,height : レンダリングした画像サイズ pitch : レンダリングした画像データの横1ラインのバイト数 戻り値 : レンダリング要求が成功した場合はtrue (出力中等は失敗します)

§rendering_scene_audio: unsafe extern "C" fn(frame: i32, param: *mut c_void, func_proc_rendering_audio: unsafe extern "C" fn(param: *mut c_void, frame: i32, buffer0: *const f32, buffer1: *const f32, sample_num: i32)) -> bool

現在のシーンの音声のレンダリングをします この関数はレンダリングのタスクを追加するのみで完了します レンダリング完了時はイベント通知スレッドからコールバック関数が呼ばれます frame : レンダリング対象のフレーム番号 param : 任意のユーザーデータのポインタ func_proc_rendering_audio : レンダリング完了時に呼ばれるコールバック関数 buffer0 : レンダリングした音声データ(左チャンネル)へのポインタ ※PCM(float)32bit形式 buffer1 : レンダリングした音声データ(右チャンネル)へのポインタ ※PCM(float)32bit形式 sample_num : レンダリングした音声のサンプル数 戻り値 : レンダリング要求が成功した場合はtrue (出力中等は失敗します)

§wait_rendering_task: unsafe extern "C" fn()

レンダリング中のタスクが全て完了するまで待機します ※参照ロック、編集ロック状態で呼び出すとデッドロックする可能性があります

§enum_font_name: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_font: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR))

フォント名の一覧をコールバック関数(func_proc_enum_font)で取得します param : 任意のユーザーデータのポインタ func_proc_enum_font : フォント名の取得処理のコールバック関数

§enum_palette_name: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_palette: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR))

パレット名の一覧をコールバック関数(func_proc_enum_palette)で取得します パレット情報を排他制御する為に参照ロックします。※同一スレッドで既にロック状態の場合はそのまま取得します。 param : 任意のユーザーデータのポインタ func_proc_enum_palette : パレット名の取得処理のコールバック関数

§rendering_object_video: unsafe extern "C" fn(object: OBJECT_HANDLE, frame: i32, apply_effect: bool, param: *mut c_void, func_proc_rendering_video: unsafe extern "C" fn(param: *mut c_void, frame: i32, buffer: *const c_void, width: i32, height: i32, pitch: i32)) -> bool

指定のオブジェクトの映像のレンダリングをします この関数はレンダリングのタスクを追加するのみで完了します レンダリング完了時はイベント通知スレッドからコールバック関数が呼ばれます object : レンダリング対象のオブジェクトのハンドル frame : レンダリング対象のフレーム番号 apply_effect : 追加のフィルタ効果を反映するか? ※グループ制御の追加効果は反映されません param : 任意のユーザーデータのポインタ func_proc_rendering_video : レンダリング完了時に呼ばれるコールバック関数 buffer : レンダリングした画像データへのポインタ ※PIXEL_RGBA形式 width,height : レンダリングした画像サイズ pitch : レンダリングした画像データの横1ラインのバイト数 戻り値 : レンダリング要求が成功した場合はtrue (対象外のオブジェクトや出力中等は失敗します)

§rendering_object_audio: unsafe extern "C" fn(object: OBJECT_HANDLE, frame: i32, apply_effect: bool, param: *mut c_void, func_proc_rendering_audio: unsafe extern "C" fn(param: *mut c_void, frame: i32, buffer0: *const f32, buffer1: *const f32, sample_num: i32)) -> bool

指定のオブジェクトの音声のレンダリングをします この関数はレンダリングのタスクを追加するのみで完了します レンダリング完了時はイベント通知スレッドからコールバック関数が呼ばれます object : レンダリング対象のオブジェクトのハンドル frame : レンダリング対象のフレーム番号 apply_effect : 追加のフィルタ効果を反映するか? ※グループ制御の追加効果は反映されません param : 任意のユーザーデータのポインタ func_proc_rendering_audio : レンダリング完了時に呼ばれるコールバック関数 buffer0 : レンダリングした音声データ(左チャンネル)へのポインタ ※PCM(float)32bit形式 buffer1 : レンダリングした音声データ(右チャンネル)へのポインタ ※PCM(float)32bit形式 sample_num : レンダリングした音声のサンプル数 戻り値 : レンダリング要求が成功した場合はtrue (出力中等は失敗します)

§get_effect_item_group_names: unsafe extern "C" fn(effect: LPCWSTR, item: LPCWSTR, item_names: *mut LPCWSTR, item_num: i32, item_index: *mut i32) -> i32

指定の設定項目が所属するグループの所属アイテム名を取得します グループ項目を直接指定することも出来ます (item_indexにはnullptrを指定します) effect : 対象のエフェクト名 (エイリアスファイルのeffect.nameの値) item : 対象の設定項目の名称 (エイリアスファイルのキーの名称) item_names : グループの所属アイテム名の格納先へのポインタ item_num : グループの所属アイテム名の格納先の数 item_index : 対象の設定項目のグループ内のインデックスの格納先へのポインタ (nullptrの場合は格納しません) 戻り値 : 取得出来た所属アイテム名の数 (グループに所属していない場合は0を返却) item_namesがnullptrの場合は所属アイテム数を返却します

§enum_scene_name: unsafe extern "C" fn(param: *mut c_void, func_proc_enum_scene: unsafe extern "C" fn(param: *mut c_void, name: LPCWSTR, scene_id: i32))

シーン名の一覧をコールバック関数(func_proc_enum_scene)で取得します シーン情報を排他制御する為に参照ロックします。※同一スレッドで既にロック状態の場合はそのまま取得します。 param : 任意のユーザーデータのポインタ func_proc_enum_scene : シーン名の取得処理のコールバック関数

§select_scene: unsafe extern "C" fn(scene_id: i32) -> bool

指定のシーンに切り替えます 参照ロック、編集ロック状態では利用出来ません scene_id : シーンのID 戻り値 : 成功した場合はtrue (シーンが存在しない場合や出力中等は失敗します)

§create_scene: unsafe extern "C" fn(name: LPCWSTR, label: LPCWSTR, width: i32, height: i32, rate: i32, scale: i32, sample_rate: i32, background: EDIT_INFO_COLOR) -> bool

シーンを作成します (作成したシーンに切り替わります) 参照ロック、編集ロック状態では利用出来ません name : シーン名 label : シーンのラベル (nullptrか空文字を指定するとラベル無し) width, height : シーンの解像度 rate, scale : シーンのフレームレート sample_rate : シーンのサンプリングレート background : シーンの背景色 (background.aが255以外の場合は透明色) 戻り値 : 成功した場合はtrue (出力中等は失敗します)

§create_project: unsafe extern "C" fn(width: i32, height: i32, rate: i32, scale: i32, sample_rate: i32, background: EDIT_INFO_COLOR, show_confirm: bool) -> bool

プロジェクトを新規作成します 参照ロック、編集ロック状態では利用出来ません width, height : シーンの解像度 rate, scale : シーンのフレームレート sample_rate : シーンのサンプリングレート background : シーンの背景色 (background.aが255以外の場合は透明色) show_confirm : 現在のプロジェクトの保存・キャンセルの確認ダイアログを表示する 戻り値 : 成功した場合はtrue (出力中等は失敗します)

§open_project_file: unsafe extern "C" fn(file: LPCWSTR, show_confirm: bool) -> bool

指定のプロジェクトファイルを開きます 参照ロック、編集ロック状態では利用出来ません file : プロジェクトファイルのパス show_confirm : 現在のプロジェクトの保存・キャンセルの確認ダイアログを表示する 戻り値 : 成功した場合はtrue (出力中等は失敗します)

§save_project_file: unsafe extern "C" fn(file: LPCWSTR) -> bool

指定のプロジェクトファイルへ保存します (自動バックアップと同じ処理で保存されます) 参照ロック、編集ロック状態では利用出来ません file : プロジェクトファイルのパス 戻り値 : 成功した場合はtrue (出力中等は失敗します)

§output_file: unsafe extern "C" fn(file: LPCWSTR, output_plugin: LPCWSTR, param: *mut c_void, func_project_config: Option<unsafe extern "C" fn(param: *mut c_void, project: *mut PROJECT_FILE)>) -> bool

現在のシーンを出力プラグインでファイル出力します この関数はファイル出力を開始するのみで完了します 参照ロック、編集ロック状態では利用出来ません file : 出力ファイルのパス output_plugin : 出力プラグイン名 func_project_config : 出力開始時にプロジェクトのファイル出力設定を反映させるコールバック関数 (nullptrなら呼ばれません) ※出力プラグインのFLAG_PROJECT_CONFIGが有効の場合にfunc_save_project_config()と同じ設定をすることで反映出来ます 戻り値 : 成功した場合はtrue (出力中等は失敗します)

Implementations§

Source§

impl EDIT_HANDLE

Source

pub const EFFECT_TYPE_FILTER: i32 = 1

エフェクト種別 ※今後追加される可能性があります フィルタ効果

Source

pub const EFFECT_TYPE_INPUT: i32 = 2

メディア入力

Source

pub const EFFECT_TYPE_TRANSITION: i32 = 3

シーンチェンジ

Source

pub const EFFECT_TYPE_CONTROL: i32 = 4

オブジェクト制御

Source

pub const EFFECT_TYPE_OUTPUT: i32 = 5

メディア出力 エフェクトフラグ ※今後追加される可能性があります

Source

pub const EFFECT_FLAG_VIDEO: i32 = 1

画像をサポート

Source

pub const EFFECT_FLAG_AUDIO: i32 = 2

音声をサポート

Source

pub const EFFECT_FLAG_FILTER: i32 = 4

フィルタオブジェクトをサポート

Source

pub const EFFECT_FLAG_CAMERA: i32 = 8

カメラ効果をサポート

Source

pub const EDIT_STATE_EDIT: i32 = 0

編集中

Source

pub const EDIT_STATE_PLAY: i32 = 1

プレビュー再生中

Source

pub const EDIT_STATE_SAVE: i32 = 2

ファイル出力中

Source

pub const EFFECT_ITEM_TYPE_INTEGER: i32 = 1

設定項目種別 ※今後追加される可能性があります 整数

Source

pub const EFFECT_ITEM_TYPE_NUMBER: i32 = 2

数値(トラックバー)

Source

pub const EFFECT_ITEM_TYPE_CHECK: i32 = 3

チェックボックス

Source

pub const EFFECT_ITEM_TYPE_TEXT: i32 = 4

テキスト

Source

pub const EFFECT_ITEM_TYPE_STRING: i32 = 5

文字列

Source

pub const EFFECT_ITEM_TYPE_FILE: i32 = 6

ファイル

Source

pub const EFFECT_ITEM_TYPE_COLOR: i32 = 7

Source

pub const EFFECT_ITEM_TYPE_SELECT: i32 = 8

リスト選択

Source

pub const EFFECT_ITEM_TYPE_SCENE: i32 = 9

シーン

Source

pub const EFFECT_ITEM_TYPE_RANGE: i32 = 10

レイヤー範囲

Source

pub const EFFECT_ITEM_TYPE_COMBO: i32 = 11

リストと文字の複合

Source

pub const EFFECT_ITEM_TYPE_MASK: i32 = 12

マスク

Source

pub const EFFECT_ITEM_TYPE_FONT: i32 = 13

フォント

Source

pub const EFFECT_ITEM_TYPE_FIGURE: i32 = 14

図形

Source

pub const EFFECT_ITEM_TYPE_DATA: i32 = 15

データ

Source

pub const EFFECT_ITEM_TYPE_FOLDER: i32 = 16

フォルダ

Source

pub const EFFECT_ITEM_TYPE_NUMBER_GROUP: i32 = 17

数値(トラックバー)グループ

Source

pub const EFFECT_ITEM_TYPE_GROUP: i32 = 18

設定グループ(明示的なグループのみ) ※設定値無し

Source

pub const EFFECT_ITEM_TYPE_SEPARATOR: i32 = 19

セパレーター ※設定値無し

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.