b 0.1 - beta Release
正確に動作する筈ですが、保証はありません
動作にはJava11(11.0.3)を必要とします
起動引数について
-mock
キー出力をログ出力として行う、テスト用オプションです。-noteUI
キー出力状況をサブウィンドウに表示します。再生時の調整に利用してください。-useRobot(未実装!)
デフォルトではキー出力の実装にwindows APIを使用しているためこのアプリケーションはwindowsでのみ正常に動作します。
linux環境でも動作可能にするためにjava.awt.Robotを使用した実装を行いましたが難航しているためこのオプションは正常に機能しない可能性があります。
UIについて
- メイン画面
- path
読み込むmidiファイルの絶対パスをここへ入力するか、
あるいはファイルをドラッグ&ドロップするエリアにmidiファイルをドラッグ&ドロップしてください。
読み込んだことのあるmidiファイルは右端のプルダウンから選択可能になります。 - reset
pathをリセットします。 - Drag & Drop here
midiファイルをここへドラッグ&ドロップしてください。 - window name
キー出力先となるウィンドウのウィンドウタイトルを入力してください。 - delay (milliseconds)
再生前にこの入力フィールドの時間(ミリ秒)分だけ待ってから再生タスクが開始されます。
再生ボタンを押してからキー出力先ウィンドウにマウスを持っていく時間の確保等に使ってください。 - NoteNumber Offset
音階に適用するオフセットです。整数で入力してください。
ピッチ調整のようなものだと思ってください。 - use high-precision mode
高精度モードと低精度モードの切り替えに使用します。デフォルトでオンになっています。
低精度モードについては予定の項を見てください。 - tracks
正常にmidiファイルがロードされている場合、ここへトラック情報を持つトグルボタンが生成されます。 - Play
再生ボタンです。押せるようになるまではグレーアウトしています。
トラックが最低1つ以上選択されている場合押せるようになります。 - Stop
停止ボタンです。押せるようになるまではグレーアウトしています。
- path
- noteUI
インタラクト可能なコンポーネントはありません。表示専用です。
予定
- オシャレなタイトルバーの実装
electron製アプリ(vscodeなど)に見られるUIの雰囲気とマッチしているタイトルバーの実装をやってみようかと思っています。
あまりお行儀は良くないようですが... - 低精度モードの廃止
高精度モードの実装に手間取っている時期に作ったのですが、高精度モードが正常に動作する今となっては
存在する意義が無くなったため、今後チェックボックスと共に消される予定です。 - uiの日本語化
ものぐさなのでプロジェクトを含め日本語と英語が入り交じっています。今後はログを除いて日本語に統一する予定です。 - Robotの修正
元々手元のwindows環境で動けば十分だと考えていたのでこれは修正されるか分かりません。