# MaybeSnare

MaybeSnareメイビー スネア はスネアドラムのような音が出るシンセサイザです。中身は 2 つの MembraneSynth が相互にフィードバックをかけるような構造になっています。スナッピーはついていませんが、変調のかけすぎによるノイズによって似たような音が出ます。

- MaybeSnare 0.1.10 `full` - VST 3 をダウンロード (github.com)
- MaybeSnare 0.1.10 `macOS` - VST 3 をダウンロード (github.com)

`full` パッケージには次のビルドが含まれています。

- Windows (x86_64)
- Linux (x86_64)
- macOS (Universal 2)

Linux ビルドは Ubuntu 24.04 でビルドしています。もし Ubuntu 24.04 以外のディストリビューションを使っているときは、プラグインが読み込まれないなどの不具合が起こることがあります。この場合はビルド手順に沿ってソースコードからビルドしてください。

macOS で使用するときは `macOS` パッケージのダウンロードを推奨します。また Apple Developer Program に加入していないので、インストール時に Gatekeeper を迂回するように設定する必要があります。詳細は インストール -> macOS の節を参照してください。

## 連絡先

何かあれば GitHub のリポジトリに issue を作るか `ryukau@gmail.com` までお気軽にどうぞ。

paypal.me/ryukau から開発資金を投げ銭することもできます。

## インストール

### プラグイン

名前が `.vst3` で終わるディレクトリを OS ごとに決められた位置に配置してください。

- Windows では `/Program Files/Common Files/VST3/` に配置します。
- Linux では `$HOME/.vst3/` に配置します。
- macOS では `/Library/Audio/Plug-ins/VST3/` あるいは `/Users/$USERNAME/Library/Audio/Plug-ins/VST3/` に配置します。

DAW によっては上記とは別に VST3 をインストールできるディレクトリを提供していることがあります。詳しくは利用している DAW のマニュアルを参照してください。

### プリセット

注意: プリセットの無いプラグインもあります。

プリセットはページの最上部のリンクからダウンロードできるプラグインパッケージに含まれています。以下はプリセットのインストール手順です。

1. ページの最上部のリンクからプラグインをダウンロード。
2. ダウンロードした zip ファイルを解凍。
3. `presets` ディレクトリ内の `Uhhyou` ディレクトリを OS ごとに決められたディレクトリに配置。

以下は OS ごとのプリセットの配置先の一覧です。

- Windows : `/Users/$USERNAME/Documents/VST3 Presets`
- Linux : `$HOME/.vst3/presets`
- macOS : `/Users/$USERNAME/Library/Audio/Presets`

プリセットディレクトリの名前はプラグインと同じである必要があります。配置先のディレクトリが無いときは作成してください。

- Preset Locations - VST 3 Developer Portal

### Windows

プラグインが DAW に認識されないときは C++ redistributable をインストールしてみてください。インストーラは次のリンクからダウンロードできます。ファイル名は `vc_redist.x64.exe` です。

- The latest supported Visual C++ downloads

### Linux

Ubuntu 24.04 では次のパッケージのインストールが必要です。

    sudo apt install libxcb-cursor0  libxkbcommon-x11-0

もし DAW がプラグインを認識しないときは、下のリンクの `Package Requirements` を参考にして VST3 に必要なパッケージがすべてインストールされているか確認してください。

- VSTGUI: Setup

REAPER の Linux 版がプラグインを認識しないときは `~/.config/REAPER/reaper-vstplugins64.ini` を削除して REAPER を再起動してみてください。

### macOS

重要: `full` パッケージは動作未確認です。以下のファイルは `codesign` されていないので削除する必要があるかもしれません。

- `Contents/Resources/Documentation`
- `Contents/x86_64-linux`
- `Contents/x86_64-win`

`macOS` パッケージでは上記のファイルの削除は不要です。また、すべてのパッケージは `codesign` コマンドの ad-hoc signing の状態になっています。

#### 隔離の解除

プラグインの初回起動時に「破損している」という趣旨のメッセージが表示されることがあります。この場合は、ターミナルを開いて、解凍した `.vst3` ディレクトリに次のコマンドのどちらか、あるいは両方を適用してみてください。 `/path/to/PluginName.vst3` の部分はインストールしたプラグインのパスに置き換えてください。

    xattr -rd com.apple.quarantine /path/to/PluginName.vst3
    xattr -rc /path/to/PluginName.vst3

#### Gatekeeper の迂回

プラグインは署名されていない (unsigned) 、または公証されていない (un-notarized) アプリケーションとして認識されることがあります。この場合は、警告メッセージが表示された後に、システム環境設定を開いて「セキュリティとプライバシー」 → 「一般」の「このまま開く」ボタンを押してください。以下にリンクした Apple 公式のヘルプページにスクリーンショット付きで同じ手順が掲載されています。「ノータリゼーションを受けていない App や未確認の開発元の App を開きたい場合」を参照してください。

- Mac で App を安全に開く - Apple サポート (日本)

ここまでの手順を経てまだ動かないときはインストール先を `/Library/Audio/Plug-ins/VST3/` あるいは `/Users/$USERNAME/Library/Audio/Plug-ins/VST3/` のいずれか使っていなかったほうに変えてみてください。

上記の方法がすべて上手くいかなかったときは以下の手順を試してみてください。

1. ターミナルを開いて `sudo spctl --master-disable` を実行。
2. システム環境設定を開いて「セキュリティとプライバシー」 → 「一般」 → 「ダウンロードしたアプリケーションの実行許可」と辿り、「全てのアプリケーションを許可」を選択。

上記の手順を実行するとシステムのセキュリティが弱くなるので注意してください。元に戻すには以下の手順を実行してください。

1. システム環境設定を開いて「セキュリティとプライバシー」 → 「一般」 → 「ダウンロードしたアプリケーションの実行許可」と辿り、「App Store と認証済みの開発元からのアプリケーションを許可」を選択。
2. ターミナルを開いて `sudo spctl --master-enable` を実行。

#### `codesign` の適用

注意 この節の内容は `macOS` パッケージには関連しないと考えられますが未検証です。 (GitHub の issue)

`full` パッケージを利用する場合は以下のコマンドを適用することで利用できるかもしれません。

    sudo codesign --force --deep -s - /path/to/PluginName.vst3

`codesign` の利用には Xcode のインストールが必要となるかもしれません。

#### 参考リンク

- Safely open apps on your Mac - Apple Support
- java - “libprism_sw.dylib” cannot be opened because the developer cannot be verified. on mac JAVAFX - Stack Overflow
- How to Fix App “is damaged and can’t be opened. You should move it to the Trash” Error on Mac
- Allowing unsigned/un-notarized applications/plugins in Mac OS | Venn Audio
- codesign Man Page - macOS - SS64.com

## GUI の見た目の設定

初回設定時は手動で次のファイルを作成してください。

- Windows では `/Users/ユーザ名/AppData/Roaming/UhhyouPlugins/style/style.json` 。
- Linux では `$XDG_CONFIG_HOME/UhhyouPlugins/style/style.json` 。
  - `$XDG_CONFIG_HOME` が空のときは `$HOME/.config/UhhyouPlugins/style/style.json` 。
- macOS では `/Users/$USERNAME/Library/Preferences/UhhyouPlugins/style/style.json` 。

プラグインのウィンドウを閉じて開くたびに `style.json` が読み込まれて更新されます。

既存の色のテーマを次のリンクに掲載しています。 `style.json` にコピペして使ってください。

- VSTPlugins/package/style/themes at master · ryukau/VSTPlugins

`style.json` の設定例です。

    {
      "guiScale"          : 1          ,
      "fontFamily"        : "Tinos"    ,
      "fontBold"          : true       ,
      "fontItalic"        : true       ,
      "foreground"        : "#000000"  ,
      "foregroundButtonOn": "#000000"  ,
      "foregroundInactive": "#8a8a8a"  ,
      "background"        : "#ffffff"  ,
      "boxBackground"     : "#ffffff"  ,
      "border"            : "#000000"  ,
      "borderCheckbox"    : "#000000"  ,
      "borderLabel"       : "#000000"  ,
      "unfocused"         : "#dddddd"  ,
      "highlightMain"     : "#0ba4f1"  ,
      "highlightAccent"   : "#13c136"  ,
      "highlightButton"   : "#fcc04f"  ,
      "highlightWarning"  : "#fc8080"  ,
      "overlay"           : "#00000088",
      "overlayHighlight"  : "#00ff0033"
    }

### GUI のサイズ

- `guiScale`: GUI の表示倍率。例えば `0.75` にすると 75% 、 `2.0` にすると 200% 。

`guiScale` の値の下限は `0.01` です。上限はほぼありません (64-bit float の最大値) 。

注意: `guiScale` の倍率を大きくしすぎると、 DAW によってはプラグインウィンドウの閉じるボタンがクリックできない位置に配置されてしまう、などといった問題が起きることがあります。

### フォントオプション

以下はフォントオプションの一覧です。

- `fontFamily`: フォントファミリ名。
- `fontBold`: ボールドスタイル (太字) を `true` で有効、 `false` で無効。
- `fontItalic`: イタリックスタイル (斜体) を `true` で有効、 `false` で無効。

カスタムフォントを使用するには、プラグインディレクトリの `*.vst3/Contents/Resources/Fonts` に `*.ttf` ファイルを配置します。

注意: `fontFamily` 、 `fontBold` 、 `fontItalic` で設定したフォントファミリ名とスタイルの組み合わせが `*.vst3/Contents/Resources/Fonts` 以下のいずれかの `*.ttf` ファイルに含まれていないときは VSTGUI が指定するデフォルトフォントが使用されます。

`fontFamily` が長さ 0 の文字列 `""` のときはフォールバックとして `"Tinos"` に設定されます。長さが 1 以上かつ、存在しないフォントファミリ名が指定されると VSTGUI が指定するデフォルトフォントが使用されます。

ボールドあるいはイタリック以外のスタイルは VSTGUI がサポートしていないので動作確認していません。該当する例としては Noto フォントの Demi Light や、 Roboto フォントの Thin や Black などがあります。

### 色のオプション

16 進数カラーコードを使っています。

- 6 桁の色は RGB 。
- 8 桁の色は RGBA 。

プラグインはカラーコードの 1 文字目を無視します。よって `?102938` や `\n11335577` も有効なカラーコードです。

2 文字目以降のカラーコードの値に `0-9a-f` 以外の文字を使わないでください。

以下は設定できる色の一覧です。設定に抜けがあるとデフォルトの色が使われます。

- `foreground`: 文字の色。
- `foregroundButtonOn`: オンになっているボタンの文字の色。 `foreground` か `boxBackground` のいずれかと同じ値にすることを推奨します。
- `foregroundInactive`: 非アクティブなタブの文字の色。
- `background`: 背景色。
- `boxBackground`: 矩形の UI 部品の内側の背景色。
- `border`: 縁ふちの色。
- `borderCheckbox`: チェックボックスの縁の色。
- `borderLabel`: パラメータセクションのラベルの左右の直線の色。
- `unfocused`: つまみがフォーカスされていないときの色。
- `highlightMain`: フォーカスされたときの色。スライダの値の表示にも使用されます。
- `highlightAccent`: フォーカスされたときの色。一部のプラグインをカラフルにするために使用されます。
- `highlightButton`: ボタンがフォーカスされたときの色。
- `highlightWarning`: 変更に注意を要する UI がフォーカスされたときの色。
- `overlay`: オーバーレイの色。
- `overlayHighlight`: フォーカスを示すオーバーレイの色。

## 操作

パラメータが割り当てられているコントロールの上で `右クリック` すると、 DAW から提供されるコンテキストメニューが開きます。

つまみと数値スライダでは次の操作ができます。

- `Ctrl` + `左クリック` : 値のリセット。
- `Shift` + `左ドラッグ` : 細かい値の変更。
- `ホイールクリック` : 最小値、デフォルト値、最大値の切り替え。
- `Shift` + `ホイールクリック` : 現在値の小数点以下を切り捨て。
  - 注意: デシベル表記のパラメータは、振幅に変換された後の値について切り捨て。

青い縦棒が並んだコントロール (BarBox) ではショートカットが使えます。ショートカットは BarBox を左クリックしてフォーカスすると有効になります。フォーカス後にマウスカーソルを BarBox の領域外に移動させると、ショートカットが一時的に無効になります。ショートカットによって変更されるパラメータはカーソルの位置によって変更できます。

左下のプラグイン名をクリックすると、よく使いそうな一部のショートカットを見ることができます。利用できる全てのショートカットを次の表に掲載しています。

入力 | 操作
--- | ---
`左ドラッグ` | 値の変更
`Shift` + `左ドラッグ` | 値の変更 (スナップ)
`Ctrl` + `左ドラッグ` | デフォルト値にリセット
`Ctrl` + `Shift` + `左ドラッグ` | 値の変更 (フレーム間の補間が無効)
`ホイールドラッグ` | 直線の描画
`Shift` + `ホイールドラッグ` | 1 つのバーを編集
`Ctrl` + `ホイールドラッグ` | デフォルト値にリセット
`Ctrl` + `Shift` + `ホイールドラッグ` | ロックの切り替え
`a` | 符号を交互に入れ替え
`d` | すべての値をデフォルト値にリセット
`D` | 最小値・中央値・最大値の切り替え
`e` | 低域の強調
`E` | 高域の強調
`f` | ローパスフィルタ
`F` | ハイパスフィルタ
`i` | 値の反転 (最小値を保存)
`I` | 値の反転 (最小値を 0 に設定)
`l` | マウスカーソル下のバーのロックの切り替え
`L` | 全てのバーのロックを切り替え
`n` | 最大値を 1 に正規化 (最小値を保存)
`N` | 最大値を 1 に正規化 (最小値を 0 に設定)
`p` | ランダムに並べ替え
`r` | ランダマイズ
`R` | まばらなランダマイズ
`s` | 降順にソート
`S` | 昇順にソート
`t` | 少しだけランダマイズ (ランダムウォーク)
`T` | 少しだけランダマイズ (0 に収束)
`z` | アンドゥ
`Z` | リドゥ
`,` (Comma) | 左に回転
`.` (Period) | 右に回転
`1` | すべての値を低減
`2`-`4` | インデックスが 2n-4n の値を低減
`5`-`9` | インデックスが 2n-5n の値をホールド

`Shift` + `左ドラッグ` のスナップは一部の BarBox だけで有効になっています。特定の BarBox にスナップを追加したいという要望があれば、気軽に GitHub のリポジトリに issue を開いてください。

`Shift` + `ホイールドラッグ` による 1 つのバーを編集は、マウスホイールが押された時点でカーソルの下にあるバーだけを編集します。マウスホイールが押されている間はカーソルの左右の位置に関わらず、選択したバーのみを編集できます。

`Ctrl` + `Shift` + `ホイールドラッグ` によるロックの切り替えでは、マウスホイールが押された時点でカーソルの下にあるバーの反対の状態が残り全てに適用されます。例えばカーソルの下のバーがアクティブだったときはロックに切り替えます。

いくつかの BarBox の下にはスクロールバーがついています。細かい調整を行うときはスクロールバーの左右のハンドルを `左ドラッグ` で動かすことで表示範囲を変更できます。スクロールバーでは次の操作が行えます。

- `右クリック` : 表示範囲のリセット
- `マウスホイール` : ズームイン・ズームアウト

## 注意

音量の振れ幅が大きいので MaybeSnare の後に必ずリミッタを挿入することを推奨します。

### 発散と発振

発散は時間とともに音が大きくなり続ける状態、発振は時間がたっても音が一定の振幅で止まらなくなる状態のことです。

`Coupling -> Amount` の値が大きいときに発散するおそれがあります。大まかな目安として `Coupling -> Amount` の値を 2 以下に設定することを推奨します。発散しても、およそ `Coupling -> Decay` で指定した時間が経過すれば音は止まりますが、一時的に振幅がとても大きくなります。発散を素早く抑えるときは `Coupling -> Reduction` の値を小さめに設定してみてください。また、短い時間の間に、大量のノートを受け取ると発散のおそれが高まります。

以下の条件がそろったときに発振するおそれがあります。

- `Modulation -> Amount` が 0 より大きい。
- `Interp. Rate` が 0 より大きい。
- `Mod. Envelope` が無効。

発振はドローンや効果音を作るときには使えますが、打楽器の音を出したいときは問題となります。対策として、 `Envelope` を有効にすることで発振をいくらか防ぐことができます。

## ブロック線図

図が小さいときはブラウザのショートカット `Ctrl` + `マウスホイール` や、右クリックから「画像だけを表示」などで拡大できます。

図で示されているのは大まかな信号の流れです。実装と厳密に対応しているわけではないので注意してください。

## パラメータ

角かっこ [] で囲まれているのは単位です。以下は MaybeSnare のパラメータで使われている単位の一覧です。

- [dB] : デシベル (decibel) 。
- [s] : 秒 (second) 。
- [st.] : 半音 (semitone) 。
- [Hz] : 周波数 (Hertz) 。

以下は用語の一覧です。

- FDN: フィードバック・ディレイ・ネットワークの略称。
- 打面 (Batter Side): ドラムの打面。
- 裏面 (Snare Side): ドラムの裏面。スナッピーが張ってある面。
- カップリング (Coupling): 合わせ目という意味。MaybeSnare においては、打面と裏面の間で振動を伝え合う処理のこと。

### Gain

Output [dB]

  出力のゲインです。

Batter-Snare Mix

  打面 (Batter Side) と裏面 (Snare Side) の出力を混ぜる比率です。

Normalize

  チェックを入れると `Impact -> Amplitude` の値に応じてゲインを一定に保つように正規化します。

2x Sampling

  チェックを入れると 2 倍のオーバーサンプリングを有効にします。

### Tuning

Tuning セクションでは DAW から送られてくるノートイベントと、シンセサイザ内部のピッチの対応を設定します。

MaybeSnare の癖として、すべての音程が正確に合うことはない点に注意してください。音程を合わせる必要があるときは、一度レンダリングして、外部のサンプラーに読み込んで使うことを推奨します。

Snare Side Oct.

  裏面のピッチを打面のピッチから相対的に下げる量で、単位はオクターブです。

Semitone, Cent

  全体の音の高さを変更します。

  - `Semitone`: 半音
  - `Cent`: 1 半音の 1 / 100 。
Equal Temp., A4 [Hz]

  音律を変更します。

  `Equal Temp.` は Equal Temperament (平均律) の略です。 `Equal Temp.` が 12 のときは 12 平均律となります。 `Equal Temp.` を 12 よりも小さくすると、内部的なピッチが高すぎるあるいは低すぎるために、音が変わらなくなる範囲が増えるので注意してください。

  `A4 [Hz]` は、音程 A4 の周波数です。

P.Bend Range [st.]

  ピッチベンドの範囲です。

Slide Time [s]

  最後に与えられたノートのピッチへとスライドする時間です。

  内部的にはフィルタのカットオフ周波数に置き換えられるので、正確な遷移時間を表しているわけではない点に注意してください。

Slide at Note-on, Note-off

  チェックを入れると、ノートオンあるいはノートオフの時点でスライドを行います。

  打楽器の音を作るときは、ピッチスライドを行わないほうが自然な音に聞こえるかもしれません。

### Impact

Impact セクションでは、励起信号のパラメータが調整できます。ここでの励起信号とは、大まかにばちと打面の衝突を模倣する信号のことです。 MaybeSnare では指数関数的に減衰する信号 (以降ではディケイと表記) と、正規分布によるノイズの 2 種類の信号を混ぜることができます。

Amplitude [dB]

  ディケイの初期値です。大まかにばちと打面の衝突の強さを表しています。

Decay [s]

  ディケイの減衰時間です。大まかに衝突時に沈み込んだ打面が元の位置に戻ってくるまでにかかる時間を表しています。

  `Decay` の値が大きいほど低い周波数成分が強くなります。また、他のパラメータの設定によっては `Decay` がある値より大きいときに、音のざらついた質感が消えることがあります。

Position

  ディケイを FDN に分配するときの偏りを与えるパラメータです。大まかに打面の中央から縁ふちの間の位置を表しています。

  `Position` が 0 のときは打面の中央、 1 のときは縁を表すはずだったのですが、今回の実装ではあまり大きく音が変わりません。

Noise Mix

  ディケイとノイズを混ぜる比率です。

  0 のときはディケイのみ、 1 のときはノイズのみになります。

Noise Decay [s]

  ノイズの減衰時間です。

Noise LP [Hz]

  ノイズにかけるローパスフィルタのカットオフ周波数です。

### Coupling

Amount

  カップリングの量です。

  カップリングの量が大きいほど発散しやすくなります。目安としては、デフォルトの 2 以下に設定することを推奨します。 2 より大きい値にするときは、 `Coupling -> Decay` や `Coupling -> Reduction` の値を小さくすることで発散を避けられることがあります。

Decay [s]

  カップリングの量の減衰時間です。

  発散したときでも、おおまかに `Decay` で指定した時間が経過すると音が止まります。

Reduction

  発散しそうなときに、カップリングの量の減衰を加速するために使われる係数です。

  発散時の振幅を素早く抑えたいときは `Reduction` の値を下げてください。

### Random

Random セクションでは、ノートオンごとに行うランダマイズの設定ができます。

Seed

  乱数のシード値です。

  `Seed` を変えると FDN のフィードバック行列が変更されるので、クロス・フィードバックの質感が変わります。

Matrix Rnd.

  FDN のフィードバック行列をノートオンごとにランダマイズする割合です。

Overtone Rnd.

  ディレイ時間を決めるときの倍数にランダムに加算する値の大きさです。

### Batter Side, Snare Side

Batter Side はスネアドラムの打面、 Snare Side はスネアドラムの裏面のことです。どちらもパラメータは共通です。

実は MaybeSnare にはスナッピーはついていません。スネアドラムのようなざらついた質感は、裏面の `Interp. Rate` の値が大きく設定されているときにディレイ時間の変調がかかりすぎて出るノイズによるものです。

#### Delay

Delay セクションでは、 FDN のディレイ間のフィードバックと、ディレイ時間に関するパラメータを設定できます。

Cross Feed

  ディレイ間のクロス・フィードバックの割合です。

  値が大きいほうがクロス・フィードバックが増えて複雑な倍音が出ます。

Feedback

  FDN 全体のフィードバック量です。

  `Feedback` によって音の長さを設定できます。また `Feedback` を下げることで発振を抑えることができます。

Shape

  ディレイ時間の係数を、弦の振動のモードと円形の膜の振動のモードとの間で切り替えます。

  `Shape` が 0 のときは係数が弦の振動のモードに応じて 1 倍、 2 倍、 3 倍、 … と設定されます。 `Shape` が 1 のときは係数が円形の膜の振動のモードに基づいて 1 倍、 1.59 倍、 2.13 倍、 … と設定されます。

#### Modulation

Modulation セクションでは、 FDN 内のフィードバック信号によってディレイ時間を短くする変調に関する設定ができます。

Amount

  FDN 内のディレイ時間をフィードバックによって変調する量です。

  `Amount` が 0 でないときは、タムタムのようなピッチの下降が起こることがあります。

Interp. Rate

  1 サンプルあたりのディレイ時間の変化を制限する値です。

  `Interp. Rate` の値が大きいほど変調が強くかかりますが、発振しやすくなるので注意してください。

Max Ratio

  変調されていないディレイ時間からの割合で表された、変調の最大値です。

  例えば `Max Ratio` が 0.3 のときは、ディレイ時間が定常状態から 30% 以上短くなることはありません。

Batter Mod. Envelope, Snare Mod. Envelope

  点灯させると変調エンベロープが有効になります。

  変調エンベロープを有効にすると `Modulation -> Amount` を時間とともに下げて発振を無理やり抑えることができます。打楽器の音だけが欲しいときは、常に有効にしておくことを推奨します。

Sustain [s]

  変調エンベロープのサステイン時間です。発振しているときにサステインが長いと不自然な音になる傾向があります。

Release [s]

  変調エンベロープのリリース時間です。発振しているときはリリースを短めに設定することで自然な音に近づきます。

#### Filter

Filter セクションでは、 FDN のフィードバック経路に用意されたフィルタの設定ができます。

LP Cut [Hz], HP Cut [Hz]

  ローパスフィルタ (LP) 、ハイパスフィルタ (HP) のカットオフ周波数です。

  実のところ、ローパスフィルタではなく、ゲインを 0.5 (~= -6.02 dB) に固定したハイシェルフフィルタを使っています。 UI 上ではローパスフィルタとしたほうが分かりやすいと思ったので、このように表記しています。

LP Q, HP Q

  ローパスフィルタ (LP) 、ハイパスフィルタ (HP) の Q 値です。

  Q 値は変更しても大きく音が変わらないので、細かい調整を行いたいわけでなければ無視できます。ただし、以下の 2 つのレシピは発振を抑えたいときに役立つかもしれません。どちらも音の低い部分を下げる効果があります。

  - `HP Q` の 0 番 (最も左) を下げる。
  - `HP Q` の 12 ~ 15 番 (右から 3 つ) を下げる。

## チェンジログ

- 0.1.10
  - GUI のサイズを変更するオプションを追加。
  - BarBox の昇順ソートのショートカットが無効になっていたバグを修正。
  - VSTGUI4 の Linux パッチを更新。
- 0.1.9
  - Linux での GUI を修正。
- 0.1.8
  - Zip パッケージにプリセットを同梱するよう変更。
  - 不正な `style.json` によりプラグインがクラッシュするバグを修正。
- 0.1.7
  - デフォルトの `foregroundInactive` の色を変更。
  - サブノーマル数によるパフォーマンスの低下を修正。
- 0.1.6
  - Renoise で GUI がクラッシュするバグを修正。 GUI 要素のメモリが解放された後にアクセスを行おうとしていたことがクラッシュの原因。
- 0.1.5
  - `processContext` が `nullptr` であるために Audacity で音が正しく出力されなかったバグを修正。
  - クラッシュの原因となっていたバイパス処理を除去。後方互換性のため `bypass` パラメータは保持されるが、変更による効果はなくなった。
- 0.1.4
  - スプラッシュ画面のテキストを更新。
- 0.1.3
  - BarBox にホールドのショートカットを追加。ショートカットキーは `5`-`9` 。
  - 数値スライダに `Shift` + `ホイールクリック` による値の切り捨てのショートカットを追加。
- 0.1.2
  - クラッシュやメモリリークを防ぐため、共通コンポーネントのデストラクタに `virtual` を追加。
- 0.1.1
  - `Seed` 変更時に乱数生成器をリセットするように変更。この変更により `Seed` 変更時と、フルリセット時に同じ音が出るようになった。
- 0.1.0
  - 初期リリース。

## 旧バージョン

- MaybeSnare 0.1.9 - VST 3 (github.com)
- MaybeSnare 0.1.8 - VST 3 (github.com)
- MaybeSnare 0.1.7 - VST 3 (github.com)
- MaybeSnare 0.1.6 - VST 3 (github.com)
- MaybeSnare 0.1.5 - VST 3 (github.com)
- MaybeSnare 0.1.4 - VST 3 (github.com)
- MaybeSnare 0.1.3 - VST 3 (github.com)
- MaybeSnare 0.1.2 - VST 3 (github.com)
- MaybeSnare 0.1.1 - VST 3 (github.com)
- MaybeSnare 0.1.0 - VST 3 (github.com)

## ライセンス

MaybeSnare のライセンスは GPLv3 です。 GPLv3 の詳細と、利用したライブラリのライセンスは次のリンクにまとめています。

- https://github.com/ryukau/VSTPlugins/tree/master/License

リンクが切れているときは `ryukau@gmail.com` にメールを送ってください。

### VST® について

VST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.