Skip to content

Feature/cancel button - #14

Merged
SotaTamura merged 2 commits into
mainfrom
feature/cancel-button
Sep 13, 2026
Merged

Feature/cancel button#14
SotaTamura merged 2 commits into
mainfrom
feature/cancel-button

Conversation

@faithia-anastasia

Copy link
Copy Markdown
Contributor

主な変更

App.tsx

  • cancelConversion関数を定義し、Rust側で定義するcancel_conversion関数を呼び出す
  • エラーメッセージが実行キャンセルに関するものであれば「変換がキャンセルされました。」をエラーログとしてセットする
  • 変換中( isConvertingがTrueのとき )、ボタンがキャンセルボタンとなるようにし、クリックするとcancelConverisonが呼び出されるようにした

lib.rs

  • 構造体としてAppStateを定義し、メンバ変数として複数のスレッドから共有できる形でArc型のcancel_flagを持たせた
  • convert_file実行時にcancel_flagをfalseにしてから実行
  • TypeScript側からcancel_conversionが呼び出されるとcancel_flagをtrueに変更
  • cancel_flag を conversion::convert に渡し、変換処理側でキャンセル状態を参照できるようにする

mod.rs

  • ffmpegをspawn()によって実行し、並列してほかの処理ができるようにした
  • loopによってcancel_flagがtrueになっているか、ffmpegの変換処理が終了したかを監視
  • cancel_flagがtrueになっていたら、子プロセス(ffmpeg)をkillし、エラーを返す
  • ffmpegの処理が正常終了していたらloopを抜け出す

その他の変更

他のtsxファイルやrsファイルの変更はフォーマッタによる差分、リンターのエラーをクリアするための差分なので付随的なものです。メインの変更は"feat: add conversion cancellation feature"のコミットを見てください

@SotaTamura
SotaTamura merged commit 7438283 into main Sep 13, 2026
@SotaTamura
SotaTamura deleted the feature/cancel-button branch September 13, 2026 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants