zkunがいろんなことを横書きするブログのようですw(含み笑)
最初にG3パッチメイカーを作ったときは、実にシンプルなデータベース関数を考案したよ。とりあえず今いる数値だけ得られればそれでいいかという感じで。そのうちに似たような構造の関数で他の用途に使うために別のデータを入れた関数をつくったりしていくうちに、これはどのような用途にでも使い回せる一つの巨大関数をつくっておくと、今後ラクだぞと気付いたよ。それで各パラメータあたり5データ×8パラメータ+若干数という45データの関数を長く使っていたよ。今回スクリプト講座を書いていく中で、今後のプログラミングのしやすさを考えて各パラメータあたりもう2データ増やすことにしたよ。すると7データ×8+若干で60データになったよ。そこでさらに考えたよ。今後、新機種が出てパラメータ数が12とか16とか24に増えてもそのまま拡張できるような構造にしといたほうが便利なんじゃないかと。さらに言うと、1つのパラメータの中でおさえておきたい情報の種類も増えるかもしれない。さらには、フットスイッチ対応のパターンも今は最大2種類までだけど、もっと増える可能性だってあるかも。ダメ押しで言うと、要素数を10の倍数単位にしたほうが各パラメータごとに十の位を統一できるので、プログラマーにとっても勘違い防止でわかりやすくていいなということで、新規格を決定したよw
なんと、とりあえず各行100要素のデータ構造にしたよw 内訳はこういう感じ。
0番=エフェクト名称
1番=並べ替え用コード。これは元祖パッチメイカーでユニット自動並べ替えに使うよ。
2番=G5とG3Xのペダルコントロール対応パラメータ番号の文字列。ペダルアサイン時に利用するよ。
3番=G3v1のペダルコントロール対応パラメータ番号。
4番=G2Nuのペダルコントロール対応パラメータ番号。
5番=フットスイッチ機能1つ目の名称。
6番=フットスイッチ機能2つ目の名称。
7番〜9番=今後フットスイッチ機能の数が大量に増えた場合の予備枠w
10番〜19番=今後それ以外に各エフェクトに新しい機能がついた場合に使用できる拡張枠w
20番=Prm2の名称。先頭パラメータの名称が入る。
21番=Prm2のマニュアル記載の最小値。パラメータ紹介的なプログラムで使用。
22番=Prm2のマニュアル記載の最大値。パラメータ紹介的なプログラムで使用。
23番=Prm2がとりうる通常データの数。通常データの範囲でのランダム発生に利用。
24番=Prm2のテンポ同期の場合も含めたすべてのとりうるデータの数。ランダム発生に利用。
25番=Prm2のテンポ同期対応のパターンをパターン番号で記録。
26番=Prm2のペダルコントロール対応状況を注意点も含めたパターン番号で記録。
27番〜29番=今後Prm2について新しい管理情報が生じた場合に使える予備枠w
30番〜39番=Prm3について上記のようなデータが入る。
40番〜99番=Prm4〜Prm9について同様にデータが入る。
これで、今G5やG3Xで実際に使われているPrm2〜Prm9(最大8パラメータ)について、20番台〜90番台で同じ形式で参照できるようになり、さらに拡張対応も100番台以降そのままいくらでも追加できるのでバッチリということになるよw
これで次期フラッグシップがどんだけデータ量を増やしてきても大丈夫になったyo さすがzkunは先手先手を打ってソツがないne さすが名軍師zkunだねw(自画自賛笑)
この新規格データベースを導入するため、スクリプト講座も一部さかのぼって差し替えておくことにするyo 既存のパッチメイカーなどは今のところ動作を変える必要がないので現行のままいくよ。今後作成するものから、新規格を使っていくことにするよ。そんな感じでいくけど、プログラマー以外の人にはまるで関係ない話だよne(苦笑)
なんと、とりあえず各行100要素のデータ構造にしたよw 内訳はこういう感じ。
0番=エフェクト名称
1番=並べ替え用コード。これは元祖パッチメイカーでユニット自動並べ替えに使うよ。
2番=G5とG3Xのペダルコントロール対応パラメータ番号の文字列。ペダルアサイン時に利用するよ。
3番=G3v1のペダルコントロール対応パラメータ番号。
4番=G2Nuのペダルコントロール対応パラメータ番号。
5番=フットスイッチ機能1つ目の名称。
6番=フットスイッチ機能2つ目の名称。
7番〜9番=今後フットスイッチ機能の数が大量に増えた場合の予備枠w
10番〜19番=今後それ以外に各エフェクトに新しい機能がついた場合に使用できる拡張枠w
20番=Prm2の名称。先頭パラメータの名称が入る。
21番=Prm2のマニュアル記載の最小値。パラメータ紹介的なプログラムで使用。
22番=Prm2のマニュアル記載の最大値。パラメータ紹介的なプログラムで使用。
23番=Prm2がとりうる通常データの数。通常データの範囲でのランダム発生に利用。
24番=Prm2のテンポ同期の場合も含めたすべてのとりうるデータの数。ランダム発生に利用。
25番=Prm2のテンポ同期対応のパターンをパターン番号で記録。
26番=Prm2のペダルコントロール対応状況を注意点も含めたパターン番号で記録。
27番〜29番=今後Prm2について新しい管理情報が生じた場合に使える予備枠w
30番〜39番=Prm3について上記のようなデータが入る。
40番〜99番=Prm4〜Prm9について同様にデータが入る。
これで、今G5やG3Xで実際に使われているPrm2〜Prm9(最大8パラメータ)について、20番台〜90番台で同じ形式で参照できるようになり、さらに拡張対応も100番台以降そのままいくらでも追加できるのでバッチリということになるよw
これで次期フラッグシップがどんだけデータ量を増やしてきても大丈夫になったyo さすがzkunは先手先手を打ってソツがないne さすが名軍師zkunだねw(自画自賛笑)
この新規格データベースを導入するため、スクリプト講座も一部さかのぼって差し替えておくことにするyo 既存のパッチメイカーなどは今のところ動作を変える必要がないので現行のままいくよ。今後作成するものから、新規格を使っていくことにするよ。そんな感じでいくけど、プログラマー以外の人にはまるで関係ない話だよne(苦笑)
PR