patch.aul icon indicating copy to clipboard operation
patch.aul copied to clipboard

*特定条件でBPMグリッドの設定が吹っ飛ぶ

Open ePi5131 opened this issue 2 years ago • 1 comments

概要 特定の操作を行うと、BPMグリッドの設定がリセットされてしまう

再現手順 https://twitter.com/yuusyaasisutant/status/1561003282411450369 https://twitter.com/yuusyaasisutant/status/1561005425524617216

  1. BPM設定
  2. Root以外のシーンにオブジェクトを配置
  3. そのシーンで保存
  4. RootのBPMデータがぶっ飛ぶ

起こってほしかったこと 設定が保持される

環境 おそらくバニラ1.10/0.92

その他 これこういう再現方法だったんですね

ePi5131 avatar Aug 20 '22 15:08 ePi5131

原因:シーンごとの一部設定はaupに保存していない&読み込もうともしていない

以下〇の物が現状保存される設定 https://github.com/ePi5131/aviutl_exedit_sdk/blob/master/exedit/scene.hpp

struct SceneSetting {
	using Flag = detail::SceneFlag;
	Flag flag; // 〇
	const char* name; // 〇
	int32_t width, height; // 〇,〇
	int32_t max_frame; // 〇
	int32_t current_frame; // 〇
	int32_t timeline_scale; // 〇
	int32_t timeline_disp_begin_pos; // 〇
	int32_t selected_object; // 〇
	int32_t selected_frame_begin; // 〇
	int32_t selected_frame_end; // 〇
	BOOL disp_bpm_grid;
	int32_t bpm_grid_tempo;
	int32_t bpm_grid_base;
	BOOL disp_xy_grid;
	int32_t xy_grid_width;
	int32_t xy_grid_height;
	BOOL disp_camera_grid;
	int32_t camera_grid_size;
	int32_t camera_grid_num;
	BOOL disp_out_of_frame;
	int32_t out_of_frame_scale;
	int32_t bpm_grid_beat;
	int32_t disp_begin_layer; // 〇
};

全て+拡張用60byte分まで保存が出来るように作られているようなので修正できそうな気はしています(この中に保存しなくていい設定はなさそうですよね…?)

nazonoSAUNA avatar Aug 20 '22 16:08 nazonoSAUNA