2007-02-06 Daisuke Nagano * configure.in po/* * recovered gettext support (thanks to Konosuke WATANABE). * added ja-UTF-8 item. 2006-03-20 Daisuke Nagano * mdxplay/mdxfile.c * fixed problem in displaying 0-length title * fixed problem in displaying title with x68k specific chars 2006-03-01 Daisuke Nagano * freeverb/* * Modified not to use FPU in processing. * mdxplay/main.c * Added options for tuning reverb parameters. 2006-02-23 Daisuke Nagano * freeverb/* * Added freeverb (not optimized for non-FPU env.). 2005-12-10 Daisuke Nagano * symbian/* * Added tiny implementation of mdxplay for S60 platform. Please refer symbian/mdxplay/readme for limitations. * mdxplay/pdxfile.c * added more detailed error checker. * mdxplay/pcm8.c * fixed problem of initializing ALSA devices. 2005-12-06 Daisuke Nagano * mdxplay/pcm8.c * removed fragment settings if using OPM emulator. * mdxplay/*.[ch] * added functionality for output raw data. specify "--output-as-raw". 2005-11-20 Daisuke Nagano * mdxplay/pcm8.c * added sound stream draining at the closing oss device. 2005-11-19 Daisuke Nagano * mdxplay/pdxfile.c * fixed problem of handling voice bank in PDX file. * mdxplay/mdx2151.c * fixed problem of handling p-lfo and portament. * mdxplay/pcm8.c * fixed problem of flushing last pcm data at closing alsa device. * mdxplay/*.[ch] * codes cleanup. * mdxplay/*.[ch] * fixed problem of compiling in old gcc. 2005-11-16 Daisuke Nagano * mdxplay/*.c * removed global variables to prepare for supporting MMF of SymbianOS. * added detailed error check. 2005-11-16 Daisuke Nagano * mdxplay/pdxfile.c * removed checking for existence of getcwd(). * mdxplay/mdxmml_{ym2151, opl3}.c: * added workaround for treating tempo event. in some mdx data, tempo=1 may occur. is it correct ? 2005-11-12 Daisuke Nagano * mdxplay/*.[ch] * added native alsa support * pdxfile.c * fixed problem of parsing pdx file. 2005-11-03 Daisuke Nagano * mdxplay/*.c * Fixed problem of handling 16bit pcm. * Added functionality for checking invalid PDX data. 2005-10-30 Daisuke Nagano * mdxplay/pcm8.c: * mdxplay/mdxmml_ym2151.c: * Fixed problem of treating delta time. * Fixed problem of frequency conversion. 2001-03-03 Daisuke Nagano * mdxplay/pcm8.c: Big endian な環境に対処、したつもり。 (thanks to 藤原 ささみ ) 2000-11-14 Daisuke Nagano * mdxplay/mdxmml_ym2151.c: --output-to-stdout 時に 経時回りがおかしくなっていたミスを修正。 (thanks to Nobuaki Nasu ) 2000-11-03 Daisuke Nagano * mdxplay/mdxfile.c: オプション --output-titles で演奏時にタイトルを 出力するようにしてみた。title"s" と云いつつ、出力するのは タイトルだけ。要 libjconv。 convert_kanji_auto が、何故か SIGSEGV ってしまう…。何故に〜 ;_; 2000-10-31 Daisuke Nagano * mdxplay/mdxopl3.c: F-number の計算方法を変更。ポルタメントや デチューン、LFO の鳴りに効果的。 * mdxplay/mdxmml_{opl3,ym2151}.c: LFO 設定周りで思いっきり メモリリークを起こしていたミスを修正。何で今まで動いていたんだ… 2000-10-29 Daisuke Nagano * mdxplay/mdxmml_{ym2151,opl3}.c: SYNC 信号受信処理が 間違っていたのを修正。 2000-10-28 Daisuke Nagano * mdxplay/mdx{2151,opl3}.c: ノートオンの処理方法を若干変更。 step=0 の後に休符を置いて RR を生かすような音でも、きちんと 鳴るようになった。 2000-10-22 Daisuke Nagano * mdxplay/mdx2151.c: Software-LFO (Pitch) の動作を修正。 form=0 (鋸歯状波) の処理が間違っていた。 * mdxplay/mdx2151.c: Hardware-LFO 周りの処理を修正。 * mdxplay/mdx2151.c: Software-LFO (Pitch) の計算処理が 一部間違っていたのを修正。 * mdxplay/mdx2151.c: master volume の変化カーブを修正。 fade-out において、PCM と OPM がそれっぽく同期して落ちるようになる。 2000-08-28 Daisuke Nagano * mdxplay/ym2151.[ch]: version 2.140 に差し替えた。 2000-08-27 Daisuke Nagano * mdxplay/pcm8.c: DSP デバイスが PCM8_MASTER_PCM_RATE に対応 していない場合、利用できる上限のサンプリング周波数を使うように した。 2000-08-25 Daisuke Nagano * mdxplay/mdxmml_ym2151.c: 一秒以上演奏が途切れると、 経時を新たにやり直すようにした。システムを suspend する 場合などに有効。 (thanks to 奈良原@日立 ) * mdxplay/pcm8.c: 自前ノイズ発音処理系にミスがあり、 曲間でハングアップしてしまう場合があったバグを修正。 * mdxplay/mdxfile.c: 音色情報読み取り時にデータサイズを チェックしていなかったため、メモリリークしていた場合があった バグを修正。 * mdxplay/pcm8.c: 合成処理部分で思いっきりメモリリークしていた バグを修正。 Wed May 10 23:50:03 2000 Daisuke Nagano * mdxplay/ym2151.c: mame の版改訂に追従。mame-0.37b2.1 より、 ym2151.[ch] の version 2.121 を移植。 * mdxplay/main.c: LINUX_AUDIO という definition を HAVE_OSS_AUDIO に変えていたが、一部変更されていなかったミスを 修正。 Sat May 6 14:54:58 2000 Daisuke Nagano * doc/mdxplay.1: 実は追加されていなかった悲しすぎるミスを修正。 半年も誰も気が付かなかったんかい。 * mdxplay/pcm8.c: FreeBSD の をサポート。 併せて configure.in その他を変更。 Wed May 3 18:33:23 2000 Daisuke Nagano * mdxplay/*.[ch]: extern での外部直接参照を極力排除。 * mdxplay/*.[ch]: フラグを FLAG_ON/OFF から FLAG_TRUE/FALSE に 変更。 * mdxplay/*.[ch]: コード全体の整理。Warning-free 済み。 Mon Feb 21 22:26:53 2000 Daisuke Nagano * mdxplay/pcm8.c: 出力する wav ファイルのヘッダを若干修正。 * mdxplay/mdxmml_ym2151.c: stdout に出力する際は、タイマに頼らず 自力で PCM 処理部を駆動するようにした。これにより一気に音声データを 出力することが可能になり、gogo なんかでリアルタイムエンコーディング なんかを行う際に幸せになれる、かもしれない。 Tue Feb 15 22:01:09 2000 Daisuke Nagano * mdxplay/ym2151.c: "errorlog.txt" なるファイルが生成されて しまっていた仕様を修正。オリジナルにも多分同じ仕様がある筈… * configure.in: ディレクトリ構造を変更 ( src/ -> mdxplay/ ) Tue Feb 8 23:19:18 2000 Daisuke Nagano * src/ym2151.c: 最新版の OPM-emu (Version 2.101) に差し替え。 Tue Jan 25 18:45:55 2000 Daisuke Nagano * src/pcm8.c: 終了前に SNDCTL_DSP_SYNC を送るようにする。 設定によっては、曲の最後が切れてしまうことがあったため。 * src/ym2151.c: ノイズの音量を微調整。 Thu Jan 6 00:41:19 2000 Daisuke Nagano * src/ym2151.c : ノイズ出力コードを追加。但し OPM モードのみ 有効。 * src/mdxopl3.c: OPL2/3 時の音色がさっぱりさっぱりだった 歴史的バグの修正。原因は↓と同じ。 Wed Jan 5 23:36:38 2000 Daisuke Nagano * src/mdxopl3.c: OPL2/3 発音時の音量設定が間違っていたバグを 修正。音量変化カーブは大凡 OPM と同等 (下半分が無いけど)。 Thu Dec 30 00:14:45 1999 Daisuke Nagano * src/pcm8.c: SETFRAGMENT を、OPL3 利用時のみセットしてみる。 gmdsp でズレるのを、どー fix してくれようか… * src/mdxmml_[ym2151,opl3].c: Quantize 処理を多少変更。 状況に依って、発音されない音が発生していた処理の ad hoc な 修正。 Mon Dec 20 18:32:22 1999 Daisuke Nagano * src/pcm8.c: OPM-emu と PCM パートのバランスをちょっと変更。 * src/mdxmml_ym2151.c: 音色変化時にノイズ (というか残念な音) が 出ていた悲劇的バグを修正。OPM-emu 側ではなく、単に mdxplay 側の 実装のミス。 Wed Oct 27 18:19:14 1999 Daisuke Nagano * doc/mdxplay.1: 追加。深い意味は無い。無論英語。 Fri Sep 24 00:09:56 1999 Daisuke Nagano * src/main.c: PCM 出力先デバイスをオプションで指定できるようにした。 従来の ./configure 指定するものも有効だが、そちらは「デフォルトの」 出力先となる。 というわけで、オプション -d および --dsp を追加。 Wed Sep 22 22:39:54 1999 Daisuke Nagano * src/pcm8.c: 各種 PCM デバイスを初期化する際に、ダミーの データ列 (0 をたくさん) を予め write(2) しておくようにする。 何故こうすると良いのかは定かではない。 Tue Sep 21 23:00:08 1999 Daisuke Nagano * configure.in: "--with-dsp(=dsp)" が働いていなかったミスを fix。 Sun Sep 12 17:30:09 1999 Daisuke Nagano * src/pcm8.c: EsounD をサポートした。要 version 0.2.8 以降。 Mon Jul 26 20:59:53 1999 Daisuke Nagano * src/mdxmml_opl3.c, src/mdxmml_ym2151.c: PDX ファイルが見付からなかった場合、再生中に sigsegv っていた ミスを fix。 Tue Jul 6 22:58:33 1999 Daisuke Nagano * src/mdx.h: version.h をこの中で include していたが、各 *.c から直接読み込むよう変更。 * src/mdx.h: MDX_EXTERNAL_WORK_SHMID てなシンボルを define。 * src/mdxfile.c: 上記のシンボルを環境変数名として shmid を 設定されていると、構造体 MDX_DATA(とゆーかシステムワークエリアだ) をそこから得るようにする。よく判らない人は、とりあえず gmdsp (仮称) 用だ、と考えて頂ければ結構です。 * README: 文字コードが腐っていたのを修正。 * src/version.h: 途中からではありますが、こいつにも路線名を 付けることにしました。こいつは長崎本線で鳥栖を目指します。 既に 13 回公式リリースを行ってますから、いきなり小長井駅から 始まります。 * src/mdx.h: 上記に併せ、MDX_DATA にバージョン表記文字列を 格納する場所を設置。深い意味は無い。 Sun Jun 27 21:18:23 1999 Daisuke Nagano * src/main.c: PDX を使用しない曲でもきちんと track 8 まで 解析するようにした。曲によっては track 8 でテンポの設定を 行っているものがあるため。 * src/pcm8.c: PCM を消音 (PAN=0) した際に、YM2151 エミュレータの 音まで消えていた症状を改訂。 Thu Jun 24 18:58:33 1999 Daisuke Nagano * src/mdxmml_opl3.c, src/mdxmml_ym2151.c: 連続演奏の際 SIGINT を連続で受けた (Control-Stop を押した) 時に、 環境によっては演奏が停止できなかった症状を修正。 Linux 2.0.x と 2.2.x では、signal 受信後の処理が違うんだろうか… Thu May 27 17:09:59 1999 Daisuke Nagano * src/pcm8.c: 演奏終了時に PCM 用バッファを解放しようとして SIGSEGV っていたバグに対処。でもあんまり本質的な解法じゃない… Wed May 26 22:20:42 1999 Daisuke Nagano * src/main.c: 一定回数無限ループを繰り返すと、勝手にフェード アウトして終了するようにした。オリジナルの mdxdrv に、確か 似たような機能があったような。 併せて、オプションに --loops(回数指定) と --fade-out (速度指定) を追加した。 Sun May 9 21:34:25 1999 Daisuke Nagano * src/mdxopl3.c: Attack rate の補正時に 0 であるべき値を 1 にしていたバグを修正。稀に変な音がフェードインしてきてたのは これが原因。 * src/main.c: オプションに --opm を追加。--ym2151 と等価。 * src/mdxopl3.c: 初期化時に Pan を Center にしていなかったのを 修正。よもや pan 指定が無いデータがあろうとは… Wed May 5 19:12:44 1999 Daisuke Nagano * src/mdxopl3.c: ノイズ発声処理が間違っていたのを修正。 * src/mdxopl3.c: 音色設定でアルゴリズムの解釈が間違っていたのを 修正。これでようやく OPL3 の本領発揮。 * src/mdxopl3.c: 演奏前に変な音が出ていた症状を何とかした、 つもり。 Sat May 1 22:54:33 1999 Daisuke Nagano * src/main.c: PDX ファイルの検索先に、コマンドラインで指定した MDX ファイルが存在するパスを追加した。getcwd(1) がきちんと実装 されていない環境では不可。あるんかいな。 * src/pdxfile.c: PDX ファイルの読み込み時に、ファイル名を case insensitive で検索するようにした。 * src/main.c: --pdxfile の設定時に、思いっきり buffer overrun していたのを修正。危ない危ない。 Thu Apr 29 19:30:55 1999 Daisuke Nagano * configure.in: AM_CONFIG_HEADER() を正しく書いていなかったので 修正。ファイル名の両端に空白を置いてはいけないらしい。 Tue Apr 27 08:29:32 1999 Nagano Daisuke * src/ym2151.c: 環境によっては PI が define されていないため 修正。本当は configure 内部で何とかしないといけないんだけど… * README: 私のメールアドレスが間違っていたのを修正。スマヌ。 (thanks to Yuuki NINOMIYA ) Mon Apr 26 21:01:54 1999 Daisuke Nagano * src/mdxmml_opl3.c: 演奏中断・終了時に SIGSEGV で落ちる場合が あったのを修正。てゆーか昔の処理に戻した。 * src/pcm8.c: DSP デバイスの操作を、環境が Linux だった場合のみ 行うようにする。他の環境の方は、適当に改造してやってください。 (stdout に吐かせて、適当な player で受けるのが吉かと) Sun Apr 25 01:02:32 1999 Daisuke Nagano * src/pcm8.c: PCM データ (YM2151 emu 含む) を標準出力に 吐き出すモードを付けた。NAS に送るなり AWEWavePlayer で リバーブ掛けるなり 8hz-mp3 に送るなり、御随意に御利用の程。 ちなみにニセ RIFF ヘッダ付き。 Sat Apr 24 10:50:06 1999 Daisuke Nagano * src/mdxmml_opl3.c, src/mdxmml_ym2151.c: 音量相対操作の処理にミスがあったのを修正。論理逆にしてやんの。 * src/mdxfile.c: 音色設定が全くもってナッてなかったのを修正。 真の OPL3 の実力は、あんなもん (弊社従来品比) ではなかった… * src/mdxopl3.c, src/mdx2151.c: ノイズ発声時には、FM 音源の 8 チャンネル目は完全に消音するようにした。 * src/pcm8.c: 音源およびドライバによっては、きっちりと 周波数設定が出来ないので、とりあえず +-100Hz 程度は OK と 見倣すようにした。 * src/main.c: 必要な PDX ファイルが存在しない場合、とりあえず PCM パートを無視して演奏するようにする。 Fri Apr 23 18:51:17 1999 Daisuke Nagano * src/mdxopl3.c, src/mdx2151.c: Software LFO の処理が間違って いたのを修正。これで Falcom 系の曲のドラムがきちんと鳴るのだ。 * src/mdxmml_opl3.c and others: Linux でのみ動作するようにした。 * src/main.c and others: autoconf でチェックされた関数ヘッダその他 を正しく反映するようにした。要するに機種依存な部分に可能な限り 対処したと云うこと。 Thu Apr 22 11:20:58 1999 Daisuke Nagano * src/pcm8.c: ノイズ周波数の解釈が間違っていたのを修正。 値が大きい程 white noise だっつーの… * src/main.c: オプションに --opl2, --ym2151 を追加。 * src/ym2151.c: アタック処理をちょっと速くした。 Wed Apr 21 22:54:58 1999 Daisuke Nagano * src/pcm8.c: YM2151 と PCM8 の合成部分で、値の範囲チェックを やっていなかったので修正。 * src/mdx2151.c, src/mdx.h: 音色データの格納方式を変更。 一旦各要素にバラして更に復元していたのを、元データそのものを レジスタに放り込むようにした。やっとマトモな音が出る… Sat Apr 17 00:07:55 1999 Daisuke Nagano * src/mdx2151.c, src/mdx2151.h: YM2151 emulator のための実装。 * src/ym2151.c, src/ym2151.h: X-MAME から頂く。感謝。 Tue Mar 30 00:03:40 1999 Daisuke Nagano * 意味もなく gettext & autoconf & automake 化。 何やってんだか… Fri Mar 19 22:40:48 1999 Daisuke Nagano * ノイズ出力を実装。但しエンベロープは割と適当。 * ChangeLog の書き方を変更。 Mar.15.1999 .Software-LFO を実装。但し音程のみ。音量 LFO 使った曲を持ってないのだ。 NOTE-ON に対し非同期な動作には対応してないです。 ちなみに、Hardware-LFO には未対応。コレが実装できないと、シンセタムが マトモに鳴らない曲だらけ状態から抜け出せない… Feb.14.1999 .4 operator 時に Algorithm の扱いが全くもって全面的かつ徹底的に 間違いかつなってなかったのを大修正。ダメじゃん。 PSG の音が、よーやくそれっぽくなった… .Release rate の扱いを元に戻す。MDX 側でも、0 で最速、15 で 出たまま なのかなぁ。 .PCM パートにて、チャンネル毎に発音 sampling rate を指定できるように した。そーか、できるようになってたのか… .PDX のバンク機能に対応した、かもしれない。とりあえずそれっぽい実装を 行ってみただけ。 .コマンドラインに複数のファイル名を並べた場合、お約束通り順番に演奏 していく機能を追加。おぉ、割とそれっぽくなってきた。 Feb.13.1999 .Release rate の扱いが違っているような気がしたので、とりあえず修正。 正しいかどうかは定かではない。 Feb.07.1999 ."--psg" オプションの追加。"--no-fm-voice --fm-waveform 6" と等価。 Feb.04.1999 .PCM パートのタイ処理を実装 .フェードアウトを実装。 Feb.03.1999 .よーやくまともに 4 operator mode の音が出るようになる。 狂ったレジスタ配列に災いあれ。キィキィキィ .Portament の動作にようやく成功。開発当初から実装はしていたけど、 ちょっとしたミスで動いてなかった…。 Jan.27.1999 .コマンドラインオプションを大量設定。 Jan.26.1999 .FM パートの音色設定部分を試しに実装。2 オペで 4 オペの音を出そう ってのが、そもそも間違いなんだが…。 Jan.25.1999 .PCM8 互換処理の実装成功。音が出んなー、と思ってたら、単に note on する note number の処理間違えてただけだった…。 Jan.22.1999 .PDX 周りの実装。うまく行くかな ? .ポルタメントを実装したつもり。何かうまく行かない雰囲気ではある。 .ついでに y コマンドで音程用レジスタを書き換えた場合にも対応してみる。 これまたうまく動かない雰囲気… Jan.17.1999 .ゲートタイム処理を追加。q および @q コマンドにも対応。 .Waveform=5 に変更。こっちの方が柔らかくていいや。 Jan.16.1999 .OPL3 を叩いて音が出るようになった。とりあえず矩形波(Waveform=6)。 .MDX の parser を作った。さくさく。