OSDN Ticket Archive


Ticket #26987

再生スピード制御対応

登録: 2011-12-21 23:30 最終更新: 2011-12-25 14:21

報告者:
yknk
担当者:
yknk
チケットの種類:
機能リクエスト
状況:
完了
コンポーネント:
MIDITrail Ver.1.1.x for Mac OS X
マイルストーン:
Version 1.1.3 for Mac OS X (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

ユーザーの操作によって、再生スピードを変更できるようにする。

チケットの履歴

2011-12-21 23:30 更新者: yknk
  • 新しいチケット "再生スピード制御対応" が作成されました
2011-12-22 00:02 更新者: yknk
コメント

対策方針

  1. playbackメニューに"Speed Down","Speed Up"を追加。
  2. カウンタに再生スピードを表示する(例:"SPEED:120%")。ただし100%の場合は表示しない。
  3. キーボードからの操作は"4"(down),"5"(up)キーで実現する。
  4. MIDIファイル読み込み後は、いつでもスピード変更を可能とする。
  5. MIDIファイル読み込み時点で、スピードを100%に設定する。
  6. スピードの変更単位は1%とする。最小値は1%、最大値は400%とする。
  7. スピードの変更単位と最大値は設定ファイルで変更可能とする。(Player.ini)
2011-12-24 22:22 更新者: yknk
コメント

修正内容

MainMenu.xib

Playbackメニューに項目を追加。-> Speed Down, Speed Up

MTMenuCtrl

  • メニュー選択時のイベントハンドラを追加。
  • MIDITrailAppのスピード制御変更メソッド(OnMenuPlaySpeedDown, OnMenuPlaySpeedUp)を呼び出す。

MIDItrailApp

  • 起動時の初期化処理に、プレーヤー設定ファイル Player.ini の読み込み処理 _LoadPlayerConf を追加。スピード変化間隔と最大値を取得する。
  • メンバ変数に再生スピード m_PlaySpeedRatio を追加する。100 = 100%
  • MIDIデータ読み込み時に、再生スピードを100%で初期化する。
  • 再生スピード変更イベント発生時に m_PlaySpeedRatio を更新し、シーケンサのスピード変更メソッド(SetPlaySpeedRatio)を呼び出す。

MTMainView

  • キー押下イベント発生時に、4,5キー(またはテンキーの4,5)が押されたときの処理を追加。
  • メニュー制御のメニュー実行メソッド(performActionPlaySpeedDown, performActionPlaySpeedUp)を呼び出す。

SMSequencer

  • メンバ変数に再生スピード m_PlaySpeedRatio を追加する。100%を1.0で管理する。
  • 再生スピード設定メソッド SetPlaySpeedRatio を追加する。
  • 演奏位置更新メソッド _UpdatePlayPosition にて、前回からの経過時間を計算するとき、実際の経過時間に再生スピードを掛ける。

リソースファイル

  • Resources/conf/Player.ini を追加。
2011-12-25 14:21 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2011-12-25 14:21 に更新されました

添付ファイルリスト

添付ファイルはありません