#[repr(C)]pub struct EDIT_SECTION {Show 27 fields
pub info: *mut EDIT_INFO,
pub create_object_from_alias: unsafe extern "C" fn(alias: LPCSTR, layer: i32, frame: i32, length: i32) -> OBJECT_HANDLE,
pub find_object: unsafe extern "C" fn(layer: i32, frame: i32) -> OBJECT_HANDLE,
pub count_object_effect: unsafe extern "C" fn(object: OBJECT_HANDLE, effect: LPCWSTR) -> i32,
pub get_object_layer_frame: unsafe extern "C" fn(object: OBJECT_HANDLE) -> OBJECT_LAYER_FRAME,
pub get_object_alias: unsafe extern "C" fn(object: OBJECT_HANDLE) -> LPCSTR,
pub get_object_item_value: unsafe extern "C" fn(object: OBJECT_HANDLE, effect: LPCWSTR, item: LPCWSTR) -> LPCSTR,
pub set_object_item_value: unsafe extern "C" fn(object: OBJECT_HANDLE, effect: LPCWSTR, item: LPCWSTR, value: LPCSTR) -> bool,
pub move_object: unsafe extern "C" fn(object: OBJECT_HANDLE, layer: i32, frame: i32) -> bool,
pub delete_object: unsafe extern "C" fn(object: OBJECT_HANDLE),
pub get_focus_object: unsafe extern "C" fn() -> OBJECT_HANDLE,
pub set_focus_object: unsafe extern "C" fn(object: OBJECT_HANDLE),
pub get_project_file: unsafe extern "C" fn(edit: *mut EDIT_HANDLE) -> *mut PROJECT_FILE,
pub get_selected_object: unsafe extern "C" fn(index: i32) -> OBJECT_HANDLE,
pub get_selected_object_num: unsafe extern "C" fn() -> i32,
pub get_mouse_layer_frame: unsafe extern "C" fn(layer: *mut i32, frame: *mut i32) -> bool,
pub pos_to_layer_frame: unsafe extern "C" fn(x: i32, y: i32, layer: *mut i32, frame: *mut i32) -> bool,
pub is_support_media_file: unsafe extern "C" fn(file: LPCWSTR, strict: bool) -> bool,
pub get_media_info: unsafe extern "C" fn(file: LPCWSTR, info: *mut MEDIA_INFO, info_size: i32) -> bool,
pub create_object_from_media_file: unsafe extern "C" fn(file: LPCWSTR, layer: i32, frame: i32, length: i32) -> OBJECT_HANDLE,
pub create_object: unsafe extern "C" fn(effect: LPCWSTR, layer: i32, frame: i32, length: i32) -> OBJECT_HANDLE,
pub set_cursor_layer_frame: unsafe extern "C" fn(layer: i32, frame: i32),
pub set_display_layer_frame: unsafe extern "C" fn(layer: i32, frame: i32),
pub set_select_range: unsafe extern "C" fn(start: i32, end: i32),
pub set_grid_bpm: unsafe extern "C" fn(tempo: f32, beat: i32, offset: f32),
pub get_object_name: unsafe extern "C" fn(object: OBJECT_HANDLE) -> LPCWSTR,
pub set_object_name: unsafe extern "C" fn(object: OBJECT_HANDLE, name: LPCWSTR),
}Expand description
編集セクション構造体 メニュー選択やプロジェクト編集のコールバック関数内で利用出来ます フレーム番号、レイヤー番号が0からの番号になります ※UI表示と異なります
Fields§
§info: *mut EDIT_INFO編集情報
create_object_from_alias: unsafe extern "C" fn(alias: LPCSTR, layer: i32, frame: i32, length: i32) -> OBJECT_HANDLE指定の位置にオブジェクトエイリアスを作成します alias : オブジェクトエイリアスデータ(UTF-8)へのポインタ オブジェクトエイリアスファイルと同じフォーマットになります layer : 作成するレイヤー番号 frame : 作成するフレーム番号 length : オブジェクトのフレーム数 ※エイリアスデータにフレーム情報がある場合はフレーム情報から長さが設定されます フレーム数に0を指定した場合は長さや追加位置が自動調整されます 戻り値 : 作成したオブジェクトのハンドル (失敗した場合はnullptrを返却) 既に存在するオブジェクトに重なったり、エイリアスデータが不正な場合に失敗します 複数オブジェクトのエイリアスデータの場合は先頭のオブジェクトのハンドルが返却されます ※オブジェクトは全て作成されます
find_object: unsafe extern "C" fn(layer: i32, frame: i32) -> OBJECT_HANDLE指定のフレーム番号以降にあるオブジェクトを検索します layer : 検索対象のレイヤー番号 frame : 検索を開始するフレーム番号 戻り値 : 検索したオブジェクトのハンドル (見つからない場合はnullptrを返却)
count_object_effect: unsafe extern "C" fn(object: OBJECT_HANDLE, effect: LPCWSTR) -> i32オブジェクトに対象エフェクトが何個存在するかを取得します object : オブジェクトのハンドル effect : 対象のエフェクト名 (エイリアスファイルのeffect.nameの値) 戻り値 : 対象エフェクトの数 ※存在しない場合は0
get_object_layer_frame: unsafe extern "C" fn(object: OBJECT_HANDLE) -> OBJECT_LAYER_FRAMEオブジェクトのレイヤー・フレーム情報を取得します object : オブジェクトのハンドル 戻り値 : オブジェクトのレイヤー・フレーム情報
get_object_alias: unsafe extern "C" fn(object: OBJECT_HANDLE) -> LPCSTRオブジェクトのエイリアスデータを取得します object : オブジェクトのハンドル 戻り値 : オブジェクトエイリアスデータ(UTF-8)へのポインタ (取得出来ない場合はnullptrを返却) オブジェクトエイリアスファイルと同じフォーマットになります ※次に文字列返却の関数を使うかコールバック処理の終了まで有効
get_object_item_value: unsafe extern "C" fn(object: OBJECT_HANDLE, effect: LPCWSTR, item: LPCWSTR) -> LPCSTRオブジェクトの設定項目の値を文字列で取得します object : オブジェクトのハンドル effect : 対象のエフェクト名 (エイリアスファイルのeffect.nameの値) 同じエフェクトが複数ある場合は“:n“のサフィックスでインデックス指定出来ます (nは0からの番号) get_object_item_value(object, L“ぼかし:1“, L“範囲“); // 2個目のぼかしを対象とする item : 対象の設定項目の名称 (エイリアスファイルのキーの名称) 戻り値 : 取得した設定値(UTF8)へのポインタ (取得出来ない場合はnullptrを返却) エイリアスファイルの設定値と同じフォーマットになります ※次に文字列返却の関数を使うかコールバック処理の終了まで有効
set_object_item_value: unsafe extern "C" fn(object: OBJECT_HANDLE, effect: LPCWSTR, item: LPCWSTR, value: LPCSTR) -> boolオブジェクトの設定項目の値を文字列で設定します object : オブジェクトのハンドル effect : 対象のエフェクト名 (エイリアスファイルのeffect.nameの値) 同じエフェクトが複数ある場合は“:n“のサフィックスでインデックス指定出来ます (nは0からの番号) set_object_item_value(object, L“ぼかし:1“, L“範囲“, “1”); // 2個目のぼかしを対象とする item : 対象の設定項目の名称 (エイリアスファイルのキーの名称) value : 設定値(UTF8) エイリアスファイルの設定値と同じフォーマットになります 戻り値 : 設定出来た場合はtrue (対象が見つからない場合は失敗します)
move_object: unsafe extern "C" fn(object: OBJECT_HANDLE, layer: i32, frame: i32) -> boolオブジェクトを移動します object : オブジェクトのハンドル layer : 移動先のレイヤー番号 frame : 移動先のフレーム番号 戻り値 : 移動した場合はtrue (移動先にオブジェクトが存在する場合は失敗します)
delete_object: unsafe extern "C" fn(object: OBJECT_HANDLE)オブジェクトを削除します object : オブジェクトのハンドル
get_focus_object: unsafe extern "C" fn() -> OBJECT_HANDLEオブジェクト設定ウィンドウで選択されているオブジェクトのハンドルを取得します 戻り値 : オブジェクトのハンドル (未選択の場合はnullptrを返却)
set_focus_object: unsafe extern "C" fn(object: OBJECT_HANDLE)オブジェクト設定ウィンドウで選択するオブジェクトを設定します (コールバック処理の終了時に設定されます) object : オブジェクトのハンドル
get_project_file: unsafe extern "C" fn(edit: *mut EDIT_HANDLE) -> *mut PROJECT_FILEプロジェクトファイルのポインタを取得します EDIT_HANDLE : 編集ハンドル 戻り値 : プロジェクトファイル構造体へのポインタ ※コールバック処理の終了まで有効
get_selected_object: unsafe extern "C" fn(index: i32) -> OBJECT_HANDLE選択中オブジェクトのハンドルを取得します index : 選択中オブジェクトのインデックス(0〜) 戻り値 : 指定インデックスのオブジェクトのハンドル (インデックスが範囲外の場合はnullptrを返却)
get_selected_object_num: unsafe extern "C" fn() -> i32選択中オブジェクトの数を取得します 戻り値 : 選択中オブジェクトの数
get_mouse_layer_frame: unsafe extern "C" fn(layer: *mut i32, frame: *mut i32) -> boolマウス座標のレイヤー・フレーム位置を取得します 最後のマウス移動のウィンドウメッセージの座標から計算します layer : レイヤー番号の格納先 frame : フレーム番号の格納先 戻り値 : マウス座標がレイヤー編集上の場合はtrue
pos_to_layer_frame: unsafe extern "C" fn(x: i32, y: i32, layer: *mut i32, frame: *mut i32) -> bool指定のスクリーン座標のレイヤー・フレーム位置を取得します x,y : 対象のスクリーン座標 layer : レイヤー番号の格納先 frame : フレーム番号の格納先 戻り値 : スクリーン座標がレイヤー編集上の場合はtrue
is_support_media_file: unsafe extern "C" fn(file: LPCWSTR, strict: bool) -> bool指定のメディアファイルがサポートされているかを確認します file : メディアファイルのパス strict : trueの場合は実際に読み込めるかを確認します falseの場合は拡張子が対応しているかを確認します 戻り値 : サポートされている場合はtrue
get_media_info: unsafe extern "C" fn(file: LPCWSTR, info: *mut MEDIA_INFO, info_size: i32) -> bool指定のメディアファイルの情報を取得します ※動画、音声、画像ファイル以外では取得出来ません file : メディアファイルのパス info : メディア情報の格納先へのポインタ info_size : メディア情報の格納先のサイズ ※MEDIA_INFOと異なる場合はサイズ分のみ取得されます 戻り値 : 取得出来た場合はtrue
create_object_from_media_file: unsafe extern "C" fn(file: LPCWSTR, layer: i32, frame: i32, length: i32) -> OBJECT_HANDLE指定の位置にメディアファイルからオブジェクトを作成します file : メディアファイルのパス layer : 作成するレイヤー番号 frame : 作成するフレーム番号 length : オブジェクトのフレーム数 フレーム数に0を指定した場合は長さや追加位置が自動調整されます 戻り値 : 作成したオブジェクトのハンドル (失敗した場合はnullptrを返却) 既に存在するオブジェクトに重なったり、メディアファイルに対応していない場合は失敗します
create_object: unsafe extern "C" fn(effect: LPCWSTR, layer: i32, frame: i32, length: i32) -> OBJECT_HANDLE指定の位置にオブジェクトを作成します effect : エフェクト名 (エイリアスファイルのeffect.nameの値) layer : 作成するレイヤー番号 frame : 作成するフレーム番号 length : オブジェクトのフレーム数 フレーム数に0を指定した場合は長さや追加位置が自動調整されます 戻り値 : 作成したオブジェクトのハンドル (失敗した場合はnullptrを返却) 既に存在するオブジェクトに重なったり、指定エフェクトに対応していない場合は失敗します
set_cursor_layer_frame: unsafe extern "C" fn(layer: i32, frame: i32)現在のレイヤー・フレーム位置を設定します ※設定出来る範囲に調整されます layer : レイヤー番号 frame : フレーム番号
set_display_layer_frame: unsafe extern "C" fn(layer: i32, frame: i32)レイヤー編集のレイヤー・フレームの表示開始位置を設定します ※設定出来る範囲に調整されます layer : 表示開始レイヤー番号 frame : 表示開始フレーム番号
set_select_range: unsafe extern "C" fn(start: i32, end: i32)フレーム範囲選択を設定します ※設定出来る範囲に調整されます start,end : 開始終了フレーム番号 開始終了フレームの両方に-1を指定すると選択を解除します
set_grid_bpm: unsafe extern "C" fn(tempo: f32, beat: i32, offset: f32)グリッド(BPM)を設定します tempo : テンポ beat : 拍子 offset : 基準時間
get_object_name: unsafe extern "C" fn(object: OBJECT_HANDLE) -> LPCWSTRオブジェクト名を取得します object : オブジェクトのハンドル 戻り値 : オブジェクト名へのポインタ (標準の名前の場合はnullptrを返却) ※オブジェクトの編集をするかコールバック処理の終了まで有効
set_object_name: unsafe extern "C" fn(object: OBJECT_HANDLE, name: LPCWSTR)オブジェクト名を設定します object : オブジェクトのハンドル name : オブジェクト名 (nullptrか空文字を指定すると標準の名前になります)