LyricsWord.ts 947 B

123456789101112131415161718192021222324252627
  1. import {LyricsEntry} from "./LyricsEntry";
  2. import {VoiceEntry} from "../VoiceEntry";
  3. export class LyricWord {
  4. private syllables: LyricsEntry[] = [];
  5. public get Syllables(): LyricsEntry[] {
  6. return this.syllables;
  7. }
  8. public containsVoiceEntry(voiceEntry: VoiceEntry): boolean {
  9. for (let idx: number = 0, len: number = this.Syllables.length; idx < len; ++idx) {
  10. const lyricsEntry: LyricsEntry = this.Syllables[idx];
  11. if (lyricsEntry.Parent === voiceEntry) {
  12. return true;
  13. }
  14. }
  15. return false;
  16. }
  17. public findLyricEntryInVoiceEntry(voiceEntry: VoiceEntry): LyricsEntry {
  18. for (let idx: number = 0, len: number = this.Syllables.length; idx < len; ++idx) {
  19. const lyricsEntry: LyricsEntry = this.Syllables[idx];
  20. if (lyricsEntry.Parent === voiceEntry) {
  21. return lyricsEntry;
  22. }
  23. }
  24. }
  25. }