diff --git a/projects/hollywoo/src/hollywoo/Movie.kiss b/projects/hollywoo/src/hollywoo/Movie.kiss index 9150a791..c09070a7 100644 --- a/projects/hollywoo/src/hollywoo/Movie.kiss +++ b/projects/hollywoo/src/hollywoo/Movie.kiss @@ -9,6 +9,9 @@ (prop :FuzzyMap props (new FuzzyMap)) (prop :Map voiceTracks (new Map)) (prop :FuzzyMap voiceLines (new FuzzyMap)) + // Used to give unique, persistent IDs to voice tracks + (prop :Map voiceTracksPerActor (new Map)) + (prop :Map matchedVoiceLines (new Map)) (prop &mut :DelayHandling delayHandling AutoWithSkip) @@ -48,8 +51,10 @@ (otherwise))))) (method newVoiceTrack [actorName :VoiceTrack track :String lineJson] - (let [trackKey (Uuid.v4) + (let [actorNumVoiceTracks (or (dictGet voiceTracksPerActor actorName) 0) + trackKey "${actorName}${actorNumVoiceTracks}" :haxe.DynamicAccess lines (Json.parse lineJson)] + (dictSet voiceTracksPerActor actorName (+ 1 actorNumVoiceTracks)) (dictSet voiceTracks trackKey track) (doFor =>key line (lines.keyValueIterator) (dictSet voiceLines "$actorName $key" (objectWith [start line.start end line.end] trackKey)))))