Ticket #26987

再生スピード制御対応

Date d'ouverture: 2011-12-21 23:30 Dernière mise à jour: 2011-12-25 14:21

Rapporteur:
Propriétaire:
État:
Atteints
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Fixed
Fichier:
Aucun

Détails

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

Ticket History (3/4 Histories)

2011-12-21 23:30 Updated by: yknk
  • New Ticket "再生スピード制御対応" created
2011-12-22 00:02 Updated by: yknk
Commentaire

対策方針

  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 Updated by: yknk
Commentaire

修正内容

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 Updated by: yknk
  • Résolution Update from Aucun to Fixed
  • État Update from Ouvert to Atteints
  • Ticket Close date is changed to 2011-12-25 14:21

Attachment File List

No attachments

Modifier

Please login to add comment to this ticket » Connexion