voicevoxScoreValidate function

int voicevoxScoreValidate(
  1. String? scoreJson
)

与えられたJSONがScore型として不正であるときエラーを返す。

不正であるとは、以下のいずれかの条件を満たすことである。

  • Rust APIのScoreとしてデシリアライズ不可、もしくはJSONとして不正。
  • notesの要素のうちいずれかが、 ::voicevox_note_validate でエラーになる。
  • notesが空であるか、もしくは先頭が音符。

@param in score_json Score型のJSON

@returns 成功時には ::VOICEVOX_RESULT_OK 、失敗時には ::VOICEVOX_RESULT_INVALID_SCORE_ERROR

\safety{

\orig-impl{voicevox_score_validate}

__declspec(dllimport) VoicevoxResultCode voicevox_score_validate(const char *score_json)

Implementation

int voicevoxScoreValidate(String? scoreJson) {
  final voicevoxScoreValidateLookupFunction = _libCore
      .lookupFunction<
        Int32 Function(Pointer<Utf8>),
        int Function(Pointer<Utf8>)
      >('voicevox_score_validate');

  final scoreJsonPointer = scoreJson != null
      ? scoreJson.toNativeUtf8()
      : nullptr;
  final result = voicevoxScoreValidateLookupFunction(scoreJsonPointer);
  calloc.free(scoreJsonPointer);
  return result;
}