Songle JavaScript API リファレンス

onSongleAPIReady: void

ウェブブラウザから Songle API モジュールを利用した場合、その準備が完了すると自動的に呼び出されるメソッドです

Example
<script src="https://api.songle.jp/v2/api.js"></script>
Example
self.onSongleAPIReady =
  function(Songle) {
    let player =
      new Songle.Player({
        mediaElement: "#songle"
      });

    // do someting ...
  }

Songle.Player: class

外部埋め込みプレイヤーを抽象化したクラスです。

オプション初期値説明
accessToken: stringnullSongle.Plugin.SongleSync を利用する際に使用する公開用のトークンです。トークンは、ユーザページより発行することができます。
secretToken: stringnullSongle.Plugin.SongleSync を利用する際に使用する認証用のトークンです。トークンは、ユーザページより発行することができます。
mediaElement: HTMLElement | stringdocument.body外部埋め込みプレーヤーを埋め込む先の DOM を指定します。

Example
let player =
  new Songle.Player({
    mediaElement: "#songle"
  });

MinVolume: number

設定可能な音量の最小値です。

MaxVolume: number

設定可能な音量の最大値です。

@accessToken: string

Songle.Plugin.SongleSync を利用する際に使用する公開用のトークンのプロパティです。トークンは、ユーザページより発行することができます。

@secretToken: string

Songle.Plugin.SongleSync を利用する際に使用する認証用のトークンのプロパティです。トークンは、ユーザページより発行することができます。

@mediaElement: HTMLElement

外部埋め込みプレーヤーを埋め込む先の DOM のプロパティです。

@media: Songle.Media.SuperClass

使用しているメディアのプロパティです。

@musicMap: any

読み込まれている音楽地図のプロパティです。

Example
console.log(player.musicMap);
/*
  type MusicMap = {
    beat: Array
    chord: Array
    melody: Array
    chorusSections: Array
    repeatSections: Array
    variation: Array
  }
*/

@isReady: boolean

アクティベート状態のプロパティです。

アクティベートについて

使用しているメディア及び端末によっては、初回再生時に配信元のプレイヤーをユーザの意思によりクリックもしくはタップをさせる(アクティベートさせる)必要があります。これは、自動再生による意図しない通信圧迫を防ぐ目的で導入されている技術です。

@isPlaying: boolean

再生状態のプロパティです。

@isPaused: boolean

停止状態のプロパティです。

@isSeeking: boolean

シーク状態のプロパティです。

@duration: number

楽曲の再生時間(ミリ秒)のプロパティです。

@position: numbe

楽曲の再生位置(ミリ秒)のプロパティです。

@volume: number

音量のプロパティです。

#addPlugin(
  plugin: Songle.Plugin.SuperClass
): void

#useMedia(
  media: Songle.Media.SuperClass | string
): void

能動的音楽鑑賞サービス Songle登録されている楽曲から、使用する楽曲(メディア)を設定します。

Example
player.useMedia("https://www.youtube.com/watch?v=f5kUd72R_tg");

#play: void

再生します。

#pause: void

#stop: void

#seekTo: void

#on: void

error

ready

play

pause

seek

finish

mediaError

mediaReady

mediaStateChange

mediaPlay

mediaPause

mediaSeek

mediaFinish

Songle.SyncPlayer: class

外部埋め込みプレイヤーを抽象化したクラスです。
このクラスでは、事前に Songle.Plugin.SongleSync を読み込んだ状態でインスタンスが生成されます。

オプション初期値説明
accessToken: stringnullSongle.Plugin.SongleSync を利用する際に使用する公開用のトークンです。トークンは、ユーザページより発行することができます。
secretToken: stringnullSongle.Plugin.SongleSync を利用する際に使用する認証用のトークンです。トークンは、ユーザページより発行することができます。
mediaElement: HTMLElement | stringdocument.body外部埋め込みプレーヤーを埋め込む先の DOM を指定します。

Example
let player =
  new Songle.SyncPlayer({
    accessToken: "YOUR-ACCESS-TOKEN",
    secretToken: "YOUR-SECRET-TOKEN",
    mediaElement: "#songle"
  });

これは、次のサンプルコードと同じ意味になります。

Example
let player =
  new Songle.Player({
    accessToken: "YOUR-ACCESS-TOKEN",
    secretToken: "YOUR-SECRET-TOKEN",
    mediaElement: "#songle"
  });

player.addPlugin(new Songle.Plugin.SongleSync());

Songle.Media.SuperClass: class

音源(メディア)の抽象化クラスです。
全てのメディアクラスは、スーパークラスのメソッド・プロパティを呼び出すことができます。通常、このクラスを明示的に利用する必要はありません。

@name: string

メディアの楽曲名のプロパティです。

@artistName: string

メディアの作者名のプロパティです。

@medianSeekTime: number

メディアのシーク時にかかった時間のプロパティです。

@originalDuration: number

メディアの再生時間(ミリ秒)のプロパティです。
このプロパティは、使用しているメディアによって値が揺らぐため、特別な理由がなければ Songle.Player@duration を使ってください。

@originalPosition: number

メディアの再生位置(ミリ秒)のプロパティです。
このプロパティは、使用しているメディアによって値が揺らぐため、特別な理由がなければ Songle.Player@position を使ってください。

Songle.Media.Headless: class

音源を必要としない場合に利用するメディアクラスです。
これは、音源再生の機能を持たない端末や再生時刻に従って音楽地図のイベントのみを使用したい場合などに利用します。

Example
player.useMedia(new Songle.Media.Headless("https://www.youtube.com/watch?v=f5kUd72R_tg"));

Songle.Media.HTMLMediaElement: class

マルチメディアファイルを利用するメディアクラスです。
通常、サンプルコードに示す使い方をする必要はありません。

Example
let audioElement =
  document.createElement("audio");

audioElement.autoplay = false;
audioElement.controls = false;
audioElement.src = "https://staff.aist.go.jp/t.nakano/music/VocaWatcher.Prologue.Miku.mp3";
document.body.appendChild(audioElement);

player.useMedia(new Songle.Media.HTMLMediaElement(audioElement));

Songle.Media.NNVideo: class

外部の動画サービスの外部埋め込みプレーヤを利用するメディアクラスです。
通常、サンプルコードに示す使い方をする必要はありません。

Example
// This is a pseudocode
NNFactoryClass.create(..., {
  onReady:
    function(nnVideoInstance) {
      player.useMedia(new Songle.Media.NNVideo(nnVideoInstance));
    }
});

Songle.Media.YTVideo: class

外部の動画サービスの外部埋め込みプレーヤを利用するメディアクラスです。
通常、サンプルコードに示す使い方をする必要はありません。

Example
// This is a pseudocode
YTFactoryClass.create(..., {
  onReady:
    function(ytVideoInstance) {
      player.useMedia(new Songle.Media.YTVideo(ytVideoInstance));
    }
});

Songle.Plugin.SuperClass: class

プラグインの抽象化クラスです。
全てのプラグインクラスは、スーパークラスのメソッド・プロパティを呼び出すことができます。通常、このクラスを明示的に利用する必要はありません。

Songle.Plugin.Beat: class

音楽地図の拍子を扱うプラグインクラスです。

オプション初期値説明
revisionId: number0使用する音楽地図のリビジョン番号です。
offset: number0イベントのオフセット値(ミリ秒)です。
pollingInterval: number50イベントのポーリング値(ミリ秒)です。

Example
player.addPlugin(new Songle.Plugin.Beat();

player.on("beatEnter",
  function(ev) {
    // do someting ...
  });

リビジョンについて

リビジョンとは、音楽理解技術による自動解析の誤りを人間が訂正した際に残る編集履歴のことです。この番号を指定することで、アプリケーションで使用する音楽地図の訂正状態を固定することができます。これは、音楽地図が第三者により編集された場合に発生する不整合を防ぐ場合に役立ちます。リビジョン番号は、楽曲ページ編集履歴より確認することができます。

オフセットについて

オフセットでは、イベントの実行タイミングにオフセットを与えることができます。これは、アプリケーションの処理負荷などの要因によって、イベントの実行タイミングが前後にズレる場合に役立ちます。また、オフセットはイベント毎に個別に与えることもできます。

Example
player.addPlugin(new Songle.Plugin.Beat({
  offset: -100,
});

player.on("beatEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 100ms than original beat event
  });

player.on("beatEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 200ms than original beat event
  }, { offset: -100 });

player.on("beatEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 300ms than original beat event
  }, { offset: -200 });

Properties (get/set)

Events

@revisionId: number

使用する音楽地図のリビジョン番号のプロパティです。

@offset: number

イベントのオフセット値(ミリ秒)のプロパティです。

@pollingInterval: number

イベントのポーリング値(ミリ秒)のプロパティです。

barEnter

小節の先頭で呼び出されるイベントです。

Example
player.on("barEnter",
  function(ev) {
    console.log(ev.data.beat);
    /*
      type Beat = {
        index: number,    // インデックス
        start: number,    // 拍の開始(ミリ秒)
        count: number,    // 現在の小節の長さ
        position: number, // 現在の小節の拍
        bpm: numbeer,     // BPM
        prev: Beat,       // 前の拍
        next: Beat        // 次の拍
      }
    */
  });

barLeave

小節の終端で呼び出されるイベントです。

Example
player.on("barLeave",
  function(ev) {
    console.log(ev.data.beat);
    /*
      type Beat = {
        index: number,    // インデックス
        start: number,    // 拍の開始(ミリ秒)
        count: number,    // 現在の小節の長さ
        position: number, // 現在の小節の拍
        bpm: numbeer,     // BPM
        prev: Beat,       // 前の拍
        next: Beat        // 次の拍
      }
    */
  });

beatEnter

拍の先頭で呼び出されるイベントです。

Example
player.on("beatEnter",
  function(ev) {
    console.log(ev.data.beat);
    /*
      type Beat = {
        index: number,    // インデックス
        start: number,    // 拍の開始(ミリ秒)
        count: number,    // 現在の小節の長さ
        position: number, // 現在の小節の拍
        bpm: numbeer,     // BPM
        prev: Beat,       // 前の拍
        next: Beat        // 次の拍
      }
    */
  });

beatLeave

拍の終端で呼び出されるイベントです。

Example
player.on("beatLeave",
  function(ev) {
    console.log(ev.data.beat);
    /*
      type Beat = {
        index: number,    // インデックス
        start: number,    // 拍の開始(ミリ秒)
        count: number,    // 現在の小節の長さ
        position: number, // 現在の小節の拍
        bpm: numbeer,     // BPM
        prev: Beat,       // 前の拍
        next: Beat        // 次の拍
      }
    */
  });

Songle.Plugin.Chord: class

音楽地図の和音を扱うプラグインクラスです。

オプション初期値説明
revisionId: number0使用する音楽地図のリビジョン番号です。
offset: number0イベントのオフセット値(ミリ秒)です。
pollingInterval: number50イベントのポーリング値(ミリ秒)です。

Example
player.addPlugin(new Songle.Plugin.Chord();

player.on("chordEnter",
  function(ev) {
    // do someting ...
  });

リビジョンについて

リビジョンとは、音楽理解技術による自動解析の誤りを人間が訂正した際に残る編集履歴のことです。この番号を指定することで、アプリケーションで使用する音楽地図の訂正状態を固定することができます。これは、音楽地図が第三者により編集された場合に発生する不整合を防ぐ場合に役立ちます。リビジョン番号は、楽曲ページ編集履歴より確認することができます。

オフセットについて

オフセットでは、イベントの実行タイミングにオフセットを与えることができます。これは、アプリケーションの処理負荷などの要因によって、イベントの実行タイミングが前後にズレる場合に役立ちます。また、オフセットはイベント毎に個別に与えることもできます。

Example
player.addPlugin(new Songle.Plugin.Chord({
  offset: -100,
});

player.on("chordEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 100ms than original chord event
  });

player.on("chordEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 200ms than original chord event
  }, { offset: -100 });

player.on("chordEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 300ms than original chord event
  }, { offset: -200 });

Properties (get/set)

Events

@revisionId: number

使用する音楽地図のリビジョン番号のプロパティです。

@offset: number

イベントのオフセット値(ミリ秒)のプロパティです。

@pollingInterval: number

イベントのポーリング値(ミリ秒)のプロパティです。

chordEnter

和音の先頭で呼び出されるイベントです。

Example
player.on("chordEnter",
  function(ev) {
    console.log(ev.data.chord);
    /*
      type Chord = {
        index: number,    // インデックス
        start: number,    // 和音の開始(ミリ秒)
        duration: number, // 和音の長さ(ミリ秒)
        name: string,     // 和音名
        prev: Chord,      // 前の拍
        next: Chord       // 次の拍
      }
    */
  });

chordLeave

和音の終端で呼び出されるイベントです。

Example
player.on("chordLeave",
  function(ev) {
    console.log(ev.data.chord);
    /*
      type Chord = {
        index: number,    // インデックス
        start: number,    // 和音の開始(ミリ秒)
        duration: number, // 和音の長さ(ミリ秒)
        name: string,     // 和音名
        prev: Chord,      // 前の拍
        next: Chord       // 次の拍
      }
    */
  });

Songle.Plugin.Melody: class

音楽地図のメロディを扱うプラグインクラスです。

オプション初期値説明
revisionId: number0使用する音楽地図のリビジョン番号です。
offset: number0イベントのオフセット値(ミリ秒)です。
pollingInterval: number50イベントのポーリング値(ミリ秒)です。

Example
player.addPlugin(new Songle.Plugin.Melody();

player.on("melodyEnter",
  function(ev) {
    // do someting ...
  });

リビジョンについて

リビジョンとは、音楽理解技術による自動解析の誤りを人間が訂正した際に残る編集履歴のことです。この番号を指定することで、アプリケーションで使用する音楽地図の訂正状態を固定することができます。これは、音楽地図が第三者により編集された場合に発生する不整合を防ぐ場合に役立ちます。リビジョン番号は、楽曲ページ編集履歴より確認することができます。

オフセットについて

オフセットでは、イベントの実行タイミングにオフセットを与えることができます。これは、アプリケーションの処理負荷などの要因によって、イベントの実行タイミングが前後にズレる場合に役立ちます。また、オフセットはイベント毎に個別に与えることもできます。

Example
player.addPlugin(new Songle.Plugin.Melody({
  offset: -100,
});

player.on("melodyEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 100ms than original melody event
  });

player.on("melodyEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 200ms than original melody event
  }, { offset: -100 });

player.on("melodyEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 300ms than original melody event
  }, { offset: -200 });

Properties (get/set)

Events

@revisionId: number

使用する音楽地図のリビジョン番号のプロパティです。

@offset: number

イベントのオフセット値(ミリ秒)のプロパティです。

@pollingInterval: number

イベントのポーリング値(ミリ秒)のプロパティです。

melodyEnter

メロディの先頭で呼び出されるイベントです。

Example
player.on("melodyEnter",
  function(ev) {
    console.log(ev.data.melody);
    /*
      type Melody = {
        index: number,    // インデックス
        start: number,    // メロディの開始(ミリ秒)
        duration: number, // メロディの長さ(ミリ秒)
        pitch: number,    // メロディの高さ(ヘルツ)
        prev: Melody,     // 前の拍
        next: Melody      // 次の拍
      }
    */
  });

melodyLeave

メロディの終端で呼び出されるイベントです。

Example
player.on("melodyLeave",
  function(ev) {
    console.log(ev.data.melody);
    /*
      type Melody = {
        index: number,    // インデックス
        start: number,    // メロディの開始(ミリ秒)
        duration: number, // メロディの長さ(ミリ秒)
        pitch: number,    // メロディの高さ(ヘルツ)
        prev: Melody,     // 前の拍
        next: Melody      // 次の拍
      }
    */
  });

Songle.Plugin.Chorus: class

音楽地図のサビを扱うプラグインクラスです。

オプション初期値説明
revisionId: number0使用する音楽地図のリビジョン番号です。
offset: number0イベントのオフセット値(ミリ秒)です。
pollingInterval: number50イベントのポーリング値(ミリ秒)です。

Example
player.addPlugin(new Songle.Plugin.Chorus();

player.on("chorusSemgnetEnter",
  function(ev) {
    // do something ...
  });

リビジョンについて

リビジョンとは、音楽理解技術による自動解析の誤りを人間が訂正した際に残る編集履歴のことです。この番号を指定することで、アプリケーションで使用する音楽地図の訂正状態を固定することができます。これは、音楽地図が第三者により編集された場合に発生する不整合を防ぐ場合に役立ちます。リビジョン番号は、楽曲ページ編集履歴より確認することができます。

オフセットについて

オフセットでは、イベントの実行タイミングにオフセットを与えることができます。これは、アプリケーションの処理負荷などの要因によって、イベントの実行タイミングが前後にズレる場合に役立ちます。また、オフセットはイベント毎に個別に与えることもできます。

Example
player.addPlugin(new Songle.Plugin.Chorus({
  offset: -100,
});

player.on("chorusSectionEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 100ms than original chorus event
  });

player.on("chorusSectionEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 200ms than original chorus event
  }, { offset: -100 });

player.on("chorusSectionEnter",
  function(ev) {
    // do something ...
    // this event will be run faster 300ms than original chorus event
  }, { offset: -200 });

Properties (get/set)

Functions

Events

@revisionId: number

使用する音楽地図のリビジョン番号のプロパティです。

@offset: number

イベントのオフセット値(ミリ秒)のプロパティです。

@pollingInterval: number

イベントのポーリング値(ミリ秒)のプロパティです。

#seekToPrevChorusSection

現在の再生位置から後方に対して、最も近いサビ区間にシークします。
このメソッドは、プラグイン読み込み後 Songle.Player#seekToPrevChorusSection として呼び出すこともできます。

#seekToNextChorusSection

現在の再生位置から後方に対して、最も近いサビ区間にシークします。
このメソッドは、プラグイン読み込み後 Songle.Player#seekToNextChorusSection として呼び出すこともできます。

#seekToPrevRepeatSection

現在の再生位置から後方に対して、最も近い繰り返し区間にシークします。
このメソッドは、プラグイン読み込み後 Songle.Player#seekToPrevRepeatSection として呼び出すこともできます。

#seekToNextRepeatSection

現在の再生位置から前方に対して、最も近い繰り返し区間にシークします。
このメソッドは、プラグイン読み込み後 Songle.Player#seekToNextRepeatSection として呼び出すこともできます。

サビ区間と繰り返し区間について

次の図は、能動的音楽鑑賞サービス Songle の楽曲訂正インタフェースにおける、繰り返し構造の可視化を模倣したものです。

サビ
繰り返し
繰り返し
繰り返し
繰り返し
...
サビ区間は、楽曲訂正インタフェースにおける橙色の区間を指し、繰り返し区間は、楽曲訂正インタフェースにおける橙色青色の区間を指します。

chorusSectionEnter

サビ区間の先頭で呼び出されるイベントです。
区間が重なっている場合、インデックスの若い区間が先に呼ばれます。

Example
player.on("chorusSectionEnter",
  function(ev) {
    console.log(ev.data.section);
    console.log(ev.data.sectionItem);
    /*
      type ChorusSection = {
        index: number,     // インデックス
        isChorus: boolean, // サビ判別
        duration: number,  // サビ区間の長さ(ミリ秒)
        items: Array       // サビ区間
      }
      type ChorusSectionItem = {
        index: number,     // インデックス
        start: number,     // サビ区間の開始(ミリ秒)
        duration: number,  // サビ区間の長さ(ミリ秒)
        prev: SectionItem, // 前のサビ区間
        next: SectionItem  // 次のサビ区間
      }
    */
  });

chorusSectionLeave

サビ区間の終端で呼び出されるイベントです。
区間が重なっている場合、インデックスの若い区間が先に呼ばれます。

Example
player.on("chorusSectionLeave",
  function(ev) {
    console.log(ev.data.section);
    console.log(ev.data.sectionItem);
    /*
      type ChorusSection = {
        index: number,     // インデックス
        isChorus: boolean, // サビ判別
        duration: number,  // サビ区間の長さ(ミリ秒)
        items: Array       // サビ区間
      }
      type ChorusSectionItem = {
        index: number,     // インデックス
        start: number,     // サビ区間の開始(ミリ秒)
        duration: number,  // サビ区間の長さ(ミリ秒)
        prev: SectionItem, // 前のサビ区間
        next: SectionItem  // 次のサビ区間
      }
    */
  });

repeatSectionEnter

繰り返し区間の先頭で呼び出されるイベントです。
区間が重なっている場合、インデックスの若い区間が先に呼ばれます。

Example
player.on("repeatSectionEnter",
  function(ev) {
    console.log(ev.data.section);
    console.log(ev.data.sectionItem);
    /*
      type ChorusSection = {
        index: number,     // インデックス
        isChorus: boolean, // サビ判別
        duration: number,  // サビ区間の長さ(ミリ秒)
        items: Array       // サビ区間
      }
      type ChorusSectionItem = {
        index: number,     // インデックス
        start: number,     // サビ区間の開始(ミリ秒)
        duration: number,  // サビ区間の長さ(ミリ秒)
        prev: SectionItem, // 前のサビ区間
        next: SectionItem  // 次のサビ区間
      }
    */
  });

repeatSectionLeave

繰り返し区間の終端で呼び出されるイベントです。
区間が重なっている場合、インデックスの若い区間が先に呼ばれます。

Example
player.on("repeatSectionLeave",
  function(ev) {
    console.log(ev.data.section);
    console.log(ev.data.sectionItem);
    /*
      type ChorusSection = {
        index: number,     // インデックス
        isChorus: boolean, // サビ判別
        duration: number,  // サビ区間の長さ(ミリ秒)
        items: Array       // サビ区間
      }
      type ChorusSectionItem = {
        index: number,     // インデックス
        start: number,     // サビ区間の開始(ミリ秒)
        duration: number,  // サビ区間の長さ(ミリ秒)
        prev: SectionItem, // 前のサビ区間
        next: SectionItem  // 次のサビ区間
      }
    */
  });

Songle.Plugin.Variation: class

音楽地図のバリエーションを扱うプラグインクラスです。

オプション初期値説明
groupCount: number2分割するグループ数

Example
player.addPlugin(new Songle.Plugin.Variation({
  groupCount: 4
}));

player.on("variationEnter",
  function(ev) {
    switch(ev.data.variation.group) {
      case 0:
        // do something ...
        break;
      case 1:
        // do something ...
        break:
      case 2:
        // do something ...
        break;
      case 3:
        // do something ...
        break
    }
  });

player.on("variationLeave",
  function(ev) {
    switch(ev.data.variation.group) {
      case 0:
        // do something ...
        break;
      case 1:
        // do something ...
        break:
      case 2:
        // do something ...
        break;
      case 3:
        // do something ...
        break
    }
  });

バリエーションについて

バリエーションとは楽曲の盛り上がりに応じて分割された区間のことです。楽曲に応じた演出の選択などの用途で利用することが想定されています。サンプルコードを実行すると、楽曲全体を4つのグループ(バリエーション区間)に分割します。

Group 0
Group 2
Group 3
Group 1
バリエーションでは、再生時刻に応じたバリエーション区間の先頭・終端で各イベントが発生します。イベント発生時に変数として返されるgroupの値は、音響的に派手である区間に対応しており、値が小さほど静かな区間、値が大きい程派手な区間であるとラベリングされています。labelの値は、楽曲全体を10つの区間(最大)に分割した場合に対応しています。

MinGroupCount: number

設定可能なグループ数の最小値です。

MaxGroupCount: number

設定可能なグループ数の最大値です。

variationEnter

バリエーション区間の先頭で呼びされるイベントです。

Example
player.on("variationEnter",
  function(ev) {
    console.log(ev.data.variation);
    /*
      type Variation = {
        index: number    // インデックス
        start: number    // 区間の開始 (ms)
        duration: number // 区間の長さ (ms)
        group: number    // グループ番号
        prev: Variation  // 前の区間
        next: Variation  // 次の区間
      }
    */
  });

variationLeave

バリエーション区間の終端で呼びされるイベントです。

Example
player.on("variationLeave",
  function(ev) {
    console.log(ev.data.variation);
    /*
      type Variation = {
        index: number    // インデックス
        start: number    // 区間の開始 (ms)
        duration: number // 区間の長さ (ms)
        group: number    // グループ番号
        prev: Variation  // 前の区間
        next: Variation  // 次の区間
      }
    */
  });

Songle.Plugin.SongleSync: class

Songle Sync を扱うプラグインクラスです。

オプション名説明
clockWorkerIntervalTimenumberclockWorker の定期実行間隔を設定します。
stageWorkerIntervalTimenumberstageWorker の定期実行間隔を設定します。

Songle.System: object

システムクラスです。

#showDebugLog: void

開発ログの表示設定です(デフォルト:無効)。

Example
// Enable debug log
Songle.System.showDebugLog = true;

#showErrorLog: void

例外ログの表示設定です(デフォルト:無効)。

Example
// Enable error log
Songle.System.showErrorLog = true;

#showLicense: void

ライセンスの表示設定です(デフォルト:有効)。

Example
// Disable license
Songle.System.showLicense = false;

ライセンス表記の無効化について

このメソッドは、ウェブサイトを構築する際に「デザイン上、止むを得ずライセンス表記を削除したい」場合を想定して用意されたものです。
本システム Songle API は非商用利用に限り、どなたでも無料・無保証で利用することができます。ただし、原則として Songle API を利用している旨を本サイトにハイパーリンクした上で、利用しているシステムもしくは外部サイト等に表示する必要があります。