ユーザ用ツール

サイト用ツール


2024:07:15

文書の過去の版を表示しています。


7/15日記

プログラム

  • 進捗
  1. ファイル読み込み(最初は同期、可能なら非同期読み込み)
    ファイルのセーブ状況検知実装予定、MIDI設定を改造予定
  2. 組込み関数の追加
    オーディオ・MIDI・スピード変更・MMLを実装。
  3. コンパイルしたデータとサウンドの譜面を紐づける実装
    Note表現を改造中
  4. ADSR、フィルタの実装、加えてエフェクトの実装
    まだ

  • Re:Code用MMLについては、オクターブ指定やVelocity指定について実装済み。これも簡単に書けた。

  • タイムスタンプ取得処理を書いた。これでどうにかなる。
  • あくまでタイムスタンプなので嘘書けてしまう可能性はあるけど、それは自身がこまるだけという認識なので、まずは同じPCで複数回アクセスすることを見込んで更新かけるもの。
  • 以前他資料を参考に書いたはずだったけど、どうもフォルダの更新日付を見るものだったらしく、それならと自分で書き直した。
  • ファイルのハンドルをCreateFile関数で取得、GetFileTimeでFILETIME形式でタイムスタンプを取得できるので、これをSYSTEMTIMEに変換した上でハンドルクローズとした。割と簡単。

  • 上記を利用してファイル監視処理を実装済み。
  • ただ、動きがあやしい。具体的には以下の内容。
  1. 状況によってはしばらくファイルが書き込み状態になりタイムスタンプが連続で更新されっぱなしになる。
  2. 更新時のタイムスタンプがうまく反映されない
  • 別の方法を検討する方が良いのかしら。
  • もしくは更新タイミングをループの終端にする等のほうが良いのかなと。
  • ファイルや読み込み状況に応じて、ずっと更新し続けるケースもあるとのことで、一度更新が終わったらしばらく更新し続けるケースへの対応も必要みたい。具体的にはしばらく更新してる場合は触らずに止まったら処理開始とする、みたいなの。

  • サンプリング再生も導入を検討。
  • まず同じIFにWAVデータを書き込めるように準備してみる。
  • 次にtinywavで読み込み。

2024/07/15.1721055846.txt.gz · 最終更新: 2024/07/16 00:04 by machiaworx