-------------------------------------------------------------------------------
                              MID/RCP MIDI Player
                         MiyaPlay for Windows Version4
                                             ver. 4.13
              Copyright (C) 1993-2007 Miyaan All rights reserved.
                         http://home10.highway.ne.jp/rk4222/
                             miyaan@mail.highway.ne.jp
                           　　　　　　　　　　　　　　　　　2007.7.5
-------------------------------------------------------------------------------
1.はじめに

MiyaPlay for Windows Version4はWindows上で動作するMIDIプレイヤです。

もう１４年前のPC-9801のMS-DOS時代から開発しているMiyaPlayですが、もうバージョン
アップのしすぎでソースが限界です。元々、純粋なC言語で、オブジェクト志向という概
念がないので、鬼のようにスパゲッティになってしまっています。自分でソースを見て
も、すでに不明な部分が多く、これ以上のメンテナンスは無理なので、C++で書き直しま
した。

「いまさらMIDIプレイヤ？」という感はありますが、自分は5台の外部音源をMiyaPlayで
コントロールして使っているので、音源切り替えや、Roland音源の下位音源エミューレ
ートを制御できない再生ソフトでは使い物にならず、一般的にも、Roland CM-64用のCM6
ファイルのついたRCPファイルを再生できるものは、ほとんど生き残っていないようで、
微妙に需要があるみたいだし、新バージョンを開発することにしました。

そういうわけで、このバージョンは2004年頃、仕事が暇だった時期にMiyap2004としてコ
ードを一から書き直しで開発を開始したものです。しかし、開始してから一ヶ月ほどで
仕事が忙しくなり、開発を中断しておりました。2005年の暮れから開発名をMiyaPlay fo
r Windows Version4として再開しました。開発名に年度を入れると、その年のうちに出
さないと格好が付かないというのを学習しました(笑)。

プレイヤ自身は2006年春頃に完成していたのですが、ヘルプファイルを作るのが面倒で
外向けの公開は放置しておりました(笑)。そうこうしているうちにWindows Vistaが発売
され、Vista上での動作テストをしてみると・・・うーーん、今回入れてあった新機能の
ひとつ「MiyaPlayからの拡張子関連付け」が動かない。どうやら、ユーザー権限を管理
者で明示的に実行しないと、レジストリのその部分にアクセスできないらしい。管理者
として実行すると、必ずうざい確認ダイアログが出るので、これじゃMiyaPlayのコンセ
プトの一つである、拡張子関連付けでの軽快な動作というのが、意味無くなってしまう
。というわけで、新機能の一つを封印せざるを得なくなりました(涙)。


2.前バージョンからの変更点

・YAMAHA USB MIDI Driverがインストールされていて、YAMAHA音源が繋がっていないと
  、MiyaPlayが起動時エラーとなり起動しない問題修正。これは決してMiyaPlayのバグ
  ではありません(笑)。YAMAHAのドライバの行儀が悪すぎるのが原因です。しかも、こ
  のドライバ、アンインストールできない(涙)。


3.動作条件

・対象OS
  Windows2000、XP、Vista
  Windows95、98、98SE、Meについては、MiyaPlay95をお使いください。16ビット混在OS
  では、そちらのほうがパフォーマンスが出ます。このバージョンが、それらのOSで動
  作するかは確認しておりません。
  Winodws NT 4.0では、Miyap2002をお使いください。

・ハードウェア条件
  MIDI I/FでPCに接続された外部MIDI音源、ソフトウェアMIDI音源（ソフトウェアシン
  セサイザ）など、Windowsがサポートした、なんらかのMIDIデバイスが存在すること。

・必要なランタイム
  Visual Studio 2005 SP1のC++で開発しております（MFC使用）。従ってVC8ランタイム
  が別途必要です。

  注意
  VC8ランタイムはVisual Studio 2005無印用とSP1用で異なります。無印用ランタイム
  ではSP1でコンパイルされたアプリは動作しません。逆もしかりです。Microsoft Visu
  al C++ 2005 SP1 再頒布可能パッケージ (x86)は一旦マイクロソフトのサイトで公開
  されましたが、2007.6.30現在、ダウンロードページは削除されています。（無印用は
  公開されている）
  USのMSにはあるらしいので、そこからダウンロードするか、個人的に公開しているサ
  イトからダウンロードするしかない状況です。以下に代表的なダウンロードサイトのU
  RLを載せておきます。（つまりベクターですが）

  Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
  http://www.vector.co.jp/soft/win95/util/se390159.html

  このパッケージのインストーラはWindowsのログインユーザー名に全角文字を使用して
  いるとインストールに失敗します。これは、一旦テンポラリフォルダにファイルを解
  凍してインストールするようなんですが、そのテンポラリフォルダのパスに全角文字
  が含まれていると、インストーラが全角文字に対応していないので、失敗するらしい
  です。

  対策
  コマンドプロンプトを起動して、環境変数TEMPとTMPをパスに全角文字を含まないフォ
  ルダに変更する。そのコマンドプロンプトからインストーラをコマンドラインで起動
  する。

  その方法がわからない人は半角文字のみのユーザーを管理者権限つきで新規に作成し
  、そのユーザーでログインしてインストールしてください。


4.基本仕様

〇サポートファイル形式

  ・標準MIDIファイル（*.MID、*.MIDI、*.RMI）
    format0、format1に対応しています。format2には対応していません。format2はfor
    mat1として再生されます。MACバイナリヘッダ、RIFFチャンクが付いていても可。

  ・レコンポーザファイル（*.RCP、*.R36、*.G36、*.G18）
    コントロールファイル（*.CM6、*.GSD）の送信にも対応しています。コントロール
    ファイルは本体ファイルと同じフォルダにあれば自動的に送信します。

  ・MiyaPlayリストファイル（*.MLT）
    読み込みはVer.2、Ver3両対応、保存はVer.3形式で行います。

  拡張子によるファイル形式の識別は一切行っておりません。ファイル構造をチェック
  して判定しています。例えば、拡張子.txtの標準MIDIファイルでもドラッグ＆ドロッ
  プすれば受け付けます。ファイルを開くダイアログでは以下の拡張子に絞り込んでい
  ます。

  *.mid、*.midi、*.rmi、*.rcp、*.r36、*.g18、*.g36、*.mlt


〇再生仕様

  ・サポートポート数
    2ポート

  ・最大トラック数
    100トラック（標準MIDIファイル、レコンポーザファイル共）

  ・RCP/G36最大同時発音数
    100音

  ・標準MIDIファイルマルチポート対応
    ポート指定メタイベント、MTKファイル

  ・音源補正再生機能
    Roland GS音源MAP補正
    SC-55無印補正
    SC-8850ドラムピッチ変換

  ・プレイリストによる連続再生
    ループ無し、全ループ、ランダム、１曲ループ

  ・再生前に送信するリセットメッセージ選択（個々に選択可能）
    CM RESET、GS RESET、XG SYSTEM ON、
    GM1 SYSTEM ON、GM2 SYSTEM ON、GM SYSTEM OFF

  ・仮想MIDIパッチベイによる音源（ソフトウェア音源含む）の自動切換え機能

  ・シーク機能


〇Miyap2002からの変更点

  ・画面上にあった動作モードやモニタモード切替のボタンは無くしました。モードの
    表示のみになります。モード切替はメニューからのみとなります。

  ・今まであった旧画面は、「データファイルのプロパティ」ダイアログに移行しまし
    た。メインウインドウはモニタ画面のみとなります。

  ・シーク機能をサポートしました。今までのタイムメータの位置にシークバーを付け
    ました。ただし、MIDIは時間軸にシーケンシャルに送信しないと正常な再生となら
    ないため（つまり、途中にある制御メッセージをかっ飛ばすことができない。逆方
    向のシークの場合、データの頭からなめて、制御メッセージを送信しなおす必要が
    ある。）、データにシステムエクスクルーシブメッセージやその他の制御メッセー
    ジが大量に含まれていると、シークに時間がかかります。古い音源の場合、メッセ
    ージの処理速度が遅いため、一度に大量に送信を行うと、音源がエラーを起こすこ
    とがあるので、安全のためにメッセージ間にかなりのウエイトを入れています。

  ・レコンポーザファイルのXG系のエクスクルーシブイベントに対応しました。

  ・Roland GS音源のMAP補正による下位機種エミュレート機能をSC-8850まで想定を広げ
    ました。ただし、SC-8850はくせがあり、正しく補正が効かないデータもあります。
    SC-88Proがやっぱり最強のようです。

  ・Miyap2002までは再生処理部分はDLLとして分離していました。これは16ビット時代
    のWindowsの制約でマルチメディアタイマコールバックはDLLに置かなければならな
    いというのがあったからです。32ビットになって、その制約がなくなったのですが
    、DLLとして外部に出す設計になっていたので、それを引きずっていました。（ただ
    し、MiyaPlay95の再生部分は16ビットなので分離する必要があった。制約が消えた
    のは、完全32ビットコード化したMiyap2002から。）今回一からコード書き直しをお
    こなったので、一本のEXEに統合しました。DLLに分離していることによる制約がな
    くなりました。

  ・CM6、GSDファイル送信時に送信状況を表示するプログレスバーを表示するようにし
    ました。

  ・Miyap2002までは、データファイル名にネットワークパスを扱えなかったですが、ネ
    ットワークパスを扱えるようにしました。

  ・今までRolandのA-880という外部MIDIパッチベイを使用することを前提に実現してい
    た自動音源切り替え機能を複数MIDI OUTポートを切り替える仕様に変更しました（
    仮想MIDIパッチベイ機能）。これでほぼ個人的仕様であったのが、多少は一般的仕
    様になったかも(笑)。実は自分もA-880は引退して、USB接続のマルチポートなMIDI 
    I/FとかYAMAHAのUSB MIDIドライバとかを使用するようになったのが理由です。


5.インストール

  ・VC8ランタイムを別途インストールしてください。

  ・アーカイブの中身を適当なフォルダにいれればそれだけで終了です。

  ・拡張子関連付けが必要な方は手動で関連付けを行ってください。

  ・何も設定しなくても、一応再生は行えるようになっています。デフォルトの出力先
    はMIDI_MAPPERです。つまりコントロールパネルの「サウンドとオーディオデバイス
    」の「オーディオ」のMIDI音楽の再生の既定のデバイスに設定されている出力先に
    なります。

  ・必要に応じて各種設定を行ってください。


6.アンインストール

  ・MiyaPlayはレジストリを触りませんので、フォルダごと削除すれば終了です。

  ・手動で拡張子関連付けを行った方は、必要に応じて別アプリに関連付けるなど行っ
    てください。


7.使用方法

  詳細は同梱のヘルプを参照してください。


8.著作権・免責等

  ・著作権はMiyaanが保持します。二次配布は自由に行っていただいて結構ですが、商
    利用についてはご相談願います。

  ・本ソフトウェアを使用して生じた、いかなる損害の補償も致しません。利用は自己
    責任でお願いします。

  ・作者はサポートの義務を負いません。

