Priority 1
- Saving and loading audio channel into .kra file
- embed the file into .kra
- link the file using the relative path
- when loading linked file allow searching the file manually
- Play sound with constant 100% speed when the animation is shown in Drop Frames mode. Use QAudioOutput for that.
- Play sound examples (100-200ms) when the user scratches the surface of the timeline. The user should understand what sound in at the specific position of the timeline.
- GUI to show waveframe of the sound channel. Take care that the waveframe should be cached, because the timeline supports panning and zooming.
- GUI for everything else: integrate with the timeline docker.
Priority 2
- Playing sound with a particular fixed speed chosen by the user. Drop Frames mode is still needed to make the video in sync.
- If the video goes too much out of sync with sound, drop audio frames or just make pauses.
- Use some external library to compress audio, like SoundTouch (preferrable) or RubberBand.
Priority 3
- Dynamically adjust the speed of the audio according to the animation playback speed.