入力された文字列を数値にする方法

テキストエディットコントロールで入力された文字列を数値にする方法

VST GUIで実装したテキストエディットコントロールをから、パラメータの値を設定する方法を説明します。

なお、VST GUIの基本的な作成方法、エディットコントロールの作成方法として下記をご理解いただいている前提で進めさせていただきます。

テキストエディットコントロールをからパラメータの値を設定するには文字列から値に変換する変換関数を作成し、テキストエディットコントロールに設定します。

まず変換関数を作成します。

変換関数は下記のように定義します。
関数名と引数の変数名は自由ですが、引数と戻り値の型は必ず同じにする必要があります。

上記では単純にstrtof関数を使って文字列から数値に変換しています。
変換関数の戻り値や引数は下記になります。

  • StringToValueFunction関数
  • 概要 テキストエディットコントロールの文字列を数値に変換する関数。
    戻り値 概要
    bool 文字列から数値への変換に成功した場合 true、失敗した場合 false
    引数 変数名 概要
    UTF8StringPtr txt テキストエディットコントロールに設定された文字列。
    float& result 変換後の数値を代入する変数。正規化された値(0.0~1.0)にする。
    CTextEdit* textEdi 操作されたテキストエディットコントロールへのポインタ。

次に、作成した変換関数をテキストコントロールに設定します。
createTextEdit関数でテキストエディットを作成した後、setStringToValueFunction関数に先ほどの変換関数のポインタを渡せば設定できます。
(createTextEdit関数は「テキストエディットの実装」を参照。)

以上でテキストエディットコントロールから、パラメータの値を設定することができます。

上記以外にもVST3.6についての情報があります。下記をご参照ください。

また、質問やご指摘はコメント欄や掲示板Twitterでいただけばとおもいます。

掲示板
■Twitterアカウント:@vstcpp   URL:https://twitter.com/vstcpp


コメントを残す