atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
Lib UTAU ヘルプ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Lib UTAU ヘルプ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Lib UTAU ヘルプ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • Lib UTAU ヘルプ
  • クラスリファレンス
  • TUtauSection

Lib UTAU ヘルプ

TUtauSection

最終更新:2011年05月22日 01:16

libutau

- view
管理者のみ編集可
  • 概要
  • public static メンバ関数
    • ReadSectionName()
    • SkipSection()
  • public メンバ関数
    • コンストラクタ
    • デストラクタ
    • Export()
    • GetDefaultValue()
    • GetValue()
    • MakeDefault()
    • Parent()
    • Revert()
    • SectionName()
    • SetParent()
    • SetSectionName()
    • SetTo()
    • SetValue()
  • public メンバ変数
  • 設計思想

概要


 TUtauSection は、パイプファイルの 1 セクション分のデータを取り扱うクラスです。

 パイプファイルから 1 セクション分の内容をパースしたり、プロパティの取得・設定をしたりといった、セクション操作の基礎を提供します。

 TUtauSection は、TUtauSectionVersion、TUtauSectionSettings、TUtauSectionNote の基底クラスです。

public static メンバ関数


ReadSectionName()


static status_t ReadSectionName(char** oStream, string* oSectionName);

 パイプファイルのデータからセクション名を読み取ります。

 TUtauData::SetTo() がこの関数を用います。ユーザーはこの関数を使う必要はありません。

  • 引数
    • oStream ... パイプファイルの内容を読み込んだバッファへのポインタです。
    • oSectionName ... 読み取ったセクション名を格納します。

  • 返値
    • B_OK ... セクション名を読み取れました。oStream はセクション行の行頭に移動しています。
    • B_ERROR ... バッファの末尾までセクション名がありませんでした。oStream はバッファの末尾に移動しています。

SkipSection()


static status_t SkipSection(char** oStream);

 1 セクション分、パイプファイルのデータを読み飛ばします。ポインタは、次のセクションの行頭または、バッファの末尾に移動します。

 TUtauData::SetTo() がこの関数を用います。ユーザーはこの関数を使う必要はありません。

  • 引数
    • oStream ... パイプファイルの内容を読み込んだバッファへのポインタです。

  • 返値
    • B_OK ... 常に B_OK を返します。

public メンバ関数


コンストラクタ


TUtauSection();

 初期設定を行います。

デストラクタ


virtual ~TUtauSection();

 特段何もしません。

Export()


status_t Export(list<string>* oStringList) const;

 変更のあったプロパティとその値を書き出します。

 TUtauData::Export() がこの関数を用います。ユーザーはこの関数を使う必要はありません。

  • 引数
    • oStringList ... エクスポート結果を格納します。

  • 返値
    • B_OK ... 常に B_OK を返します。

GetDefaultValue()


status_t GetDefaultValue(const string& oKey, string* oValue) const;

 プロパティのデフォルト値を取得します。

  • 引数
    • oKey ... デフォルト値を取得したいプロパティの名前。
    • oValue ... 取得したデフォルト値を格納する変数。

  • 返値
    • B_OK ... 正常にデフォルト値を取得できました。
    • B_NAME_NOT_FOUND ... デフォルト値が用意されていない oKey が渡されました。

GetValue()


status_t GetValue(const string& oKey, string* oValue, bool* oIsDefault = NULL) const;
status_t GetValue(const string& oKey, int32* oValue, bool* oIsDefault = NULL) const;
status_t GetValue(const string& oKey, double* oValue, bool* oIsDefault = NULL) const;

 セクションに記述されている各種プロパティを取得します。

 セクションには、
Key=Value
の形で様々なプロパティが記述されており、GetValue() 関数でその値を取得できます。第 2 引数で渡す変数の型によって、取得する値のその型に合わせて変換できます。

  • 引数
    • oKey ... プロパティの名前です。例えば、TUtauSection の派生クラスである TUtauSectionNote で、"Length" という名前のプロパティを扱う時は、oKey に "Length" を渡します。ただし、"Length" という文字列リテラルを渡すよりは、Lib UTAU で定義されている KEY_NAME_LENGTH を用いる方がスマートです。
    • oValue ... 取得したプロパティの値を格納する変数です。値を文字列で取得したい場合は string 型、値を整数で取得したい場合は int32 型、値を浮動小数で取得したい場合は double 型の変数を渡します。
    • oIsDefault ... 取得した値がデフォルト値かどうかを格納する変数です。GetValue() 関数は、パイプファイルにプロパティが記述されていなくても、UTAU で用いられるであろうデフォルト値を推定して値を取得ことがあります(例えば、原音設定の先行発声を返すなど)。デフォルト値を推定して値を取得した場合、oIsDefault に true を格納します。

  • 返値
    • B_OK ... 正常にプロパティの値を取得できました。
    • B_NAME_NOT_FOUND ... セクション内に oKey が記述されておらず、oKey に対応するデフォルト値もありませんでした。

MakeDefault()


status_t MakeDefault(const string& oKey);

 プロパティの値をデフォルト値にします。

 注意点として、プロパティがデフォルト値になるのは Lib UTAU の中だけであり、パイプファイルに書き戻した後、UTAU 本体がデフォルト値として扱ってくれるかどうかはプロパティによります。

  • 引数
    • oKey ... デフォルト値にしたいプロパティの名前です。

  • 返値
    • B_OK ... 常に B_OK を返します。

Parent()


const TUtauData* Parent() const;
TUtauData* Parent();

 セクションを統括する TUtauData へのポインタを取得します。

  • 返値
    • セクションを統括する TUtauData へのポインタ。

Revert()


status_t Revert(const string& oKey);

 プロパティの値を、UTAU 本体から渡された値に戻します。

  • 引数
    • oKey ... 値を戻したいプロパティの名前です。

  • 返値
    • B_OK ... 正常に値を戻せました。
    • B_NAME_NOT_FOUND ... プロパティ oKey は UTAU 本体から渡されていません。

SectionName()


string SectionName() const;

 セクション名を取得します。

  • 返値
    • セクション名。

SetParent()


status_t SetParent(TUtauData* oParent);

 セクションを統括する TUtauData へのポインタを設定します。

 TUtauData がこの関数を用います。ユーザーはこの関数を使う必要はありません。

  • 引数
    • oParent ... TUtauData へのポインタです。

  • 返値
    • B_OK ... 常に B_OK を返します。

SetSectionName()


virtual status_t SetSectionName(const string& oSectionName);

 セクション名を設定します。

 通常、セクション名を設定することに意味はありませんが、セクションの挿入や削除をしたい場合は、セクション名を SECTION_NAME_INSERT や SECTION_NAME_DELETE にする必要があります。

  • 引数
    • oSectionName ... 新しいセクション名です。

  • 返値
    • B_OK ... 常に B_OK を返します。

SetTo()


virtual status_t SetTo(char** oStream);

 パイプファイルのデータを 1 セクション分読み込みます。

 TUtauData がこの関数を用います。ユーザーはこの関数を使う必要はありません。

  • 引数
    • oStream ... パイプファイルの内容を読み込んだバッファへのポインタです。

  • 返値
    • B_OK ... セクションを読み取れました。oStream は次のセクションの先頭またはバッファの末尾に移動しています。
    • B_ERROR ... 何らかのエラーが発生しました。

SetValue()


status_t SetValue(const string& oKey, const string& oValue);
status_t SetValue(const string& oKey, int32 oValue);
status_t SetValue(const string& oKey, double oValue);

 プロパティの値を設定します。

  • 引数
    • oKey ... プロパティの名前です。
    • oValue ... プロパティに設定したい値です。いくつかの型を選ぶことができ、値を文字列で設定したい場合は string 型、値を整数で設定したい場合は int32 型、値を浮動小数で設定したい場合は double 型で渡して下さい。整数リテラルを渡すと、コンパイル時、int32 と double の間で曖昧さが解決できずエラーになるので、static_cast<int32> で明示的に型を指定するなどしてください。

  • 返値
    • B_OK ... 常に B_OK を返します。

public メンバ変数


 public メンバ変数はありません。

設計思想


 UTAU 本体がパイプファイルを差分管理しており、変更点だけをパイプファイルに返せば良い仕様となっているため、TUtauSection では、セクションの変更を把握できる仕組みを内部で持っています。

 パイプファイルからの入力について、
  • パイプファイルから受け取ったプロパティ
  • パイプファイルから受け取っていないプロパティ
を区別できるように管理しています。

 また、パイプファイルへの出力のために、
  • UTAU 本体から受け取ったプロパティの値を変更していない
  • プロパティの値を変更した or 新たにプロパティの値を設定した
  • プロパティの値をデフォルト値にした
を区別できるように管理しています。

 また、プロパティの取得の際、利便性のために、値が設定されていなくてもデフォルト値を返しますが、デフォルト値であることを区別できるようにしています(GetValue() の oIsDefault 引数)。
「TUtauSection」をウィキ内検索
LINE
シェア
Tweet
Lib UTAU ヘルプ
記事メニュー

ホーム


Home

サンプルプログラム

  • 解説
  • ビルド方法

Lib UTAU ご案内


  • ダウンロード
  • 同梱ファイル
  • 採用例
  • 今後の予定
  • コメント投稿

クラスリファレンス


  • 目次
  • TUtauData
  • TUtauSectionNote
  • TUtauSection
  • 定数






( - )




記事メニュー2

更新履歴


取得中です。

昨日のアクセス


  • カウンターの値があるページは1つもありません。
最近更新されたページ
  • 2408日前

    ダウンロード
  • 4216日前

    クラスリファレンス/TOtoIni
  • 4216日前

    クラスリファレンス
  • 4216日前

    採用例
  • 4216日前

    ビルド方法
  • 4216日前

    同梱ファイル
  • 4222日前

    ホーム
  • 4644日前

    クラスリファレンス/TUtauData
  • 5168日前

    クラスリファレンス/TUtauSectionNote
  • 5169日前

    MenuBar_Left
もっと見る
最近更新されたページ
  • 2408日前

    ダウンロード
  • 4216日前

    クラスリファレンス/TOtoIni
  • 4216日前

    クラスリファレンス
  • 4216日前

    採用例
  • 4216日前

    ビルド方法
  • 4216日前

    同梱ファイル
  • 4222日前

    ホーム
  • 4644日前

    クラスリファレンス/TUtauData
  • 5168日前

    クラスリファレンス/TUtauSectionNote
  • 5169日前

    MenuBar_Left
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. ソードランページ @ 非公式wiki
  6. ヒカマーWiki
  7. AviUtl2のWiki
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. Dark War Survival攻略
  10. 星飼いの詩@ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. 初音ミク Wiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 発車メロディーwiki
  8. Abiotic Factor 日本語攻略Wiki
  9. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. 英傑大戦wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  2. 参加者一覧 - ストグラ まとめ @ウィキ
  3. かつお市長補佐 - ストグラ まとめ @ウィキ
  4. 市長補佐 - ストグラ まとめ @ウィキ
  5. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  6. U-オルガマリー - Fate/Grand Order @wiki 【FGO】
  7. 01ガンダム - アニヲタWiki(仮)
  8. RHYTHM EMOTION - アニヲタWiki(仮)
  9. ロスサントス救急救命隊 - ストグラ まとめ @ウィキ
  10. アルジャーノンに花束を - アニヲタWiki(仮)
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.