{ "nodes": [ { "functor": "SignalSource", "outputs": [ "SIGNAL:loader.video.update" ] }, { "functor": "AlbumFunctor", "inputs": [ "UPDATE:loader.video.update", "DECODE_NEXT_VIDEO:recorder.video.complete", "DECODE_NEXT_AUDIO:recorder.audio.complete" ], "outputs": [ "VIDEO:album.video.produce", "AUDIO:album.audio.produce", "START:album.start", "STOP:album.stop", "PROGRESS:album.produce.progress", "FAIL:produce.fail" ] }, { "functor": "GLRecordFunctorOptimized2", "inputs": [ "VIDEO:album.video.produce", "AUDIO:album.audio.produce", "START:album.start", "STOP:album.stop" ], "outputs": [ "CURRENT_VIDEO_COMPLETED:recorder.video.complete", "CURRENT_AUDIO_COMPLETED:recorder.audio.complete", "COMPLETED:recorder.complete", "FAILED:recorder.fail" ] }, { "functor": "CallBackFunctor", "name": "recorderCallback", "inputs": [ "DATA:recorder.complete", "DATA:recorder.fail", "DATA:produce.fail" ] }, { "functor": "CallBackFunctor", "name": "progressCallback", "inputs": [ "DATA:album.produce.progress" ] } ] }