SQA, the Stuttery QLab Alternative - an in-development application for live audio in theatres and staged productions.
Clone or download
eeeeeta {backend, ui}: modularizations, waveform improvements
- state.rs has now split off two large hunks into undo.rs and
  commands.rs, in order to make it less monolithic.
- Waveforms actually work for files where the pts is broken!
- Waveform results are cached properly now, and persist across
  UI restarts.
- A button was added to refresh a waveform.
Latest commit f05adff Nov 18, 2017

README.md

SQA: the Stuttery QLab Alternative

Looking for SQAv1? See the master branch, accessible by faddling about with the "Branch" button somewhere above.

wat

This project aims to create an audio player & cue system for live shows and staged productions, à la Figure53's QLab. All its code is written in the Rust programming language, a new language that prevents memory unsafety and improves programming ergonomics.

This one large repo contains many different crates that all help accomplish that aim. (See the individual crates' README files for more information!) The crates are distributed in the hope that some of them will be useful outside this project; for example, sqa-jack is a rather nice JACK library.

why version 2

SQA v1, although it does have a pretty good UI, and was a nice first attempt, isn’t really suitable for its usecase: a reliable, professional live theatre audio application with accurate timing. It's none of those things in bold. Sticking with the current codebase is too much effort, when I want to redesign the whole thing - the command system is not ideal, the audio engine is unsuitable, and that's pretty much the whole application apart from the UI (which may actually be salvaged).

Also, as mentioned above, giving back to the Rust community and all that.

further information & devlog

Want to follow along with the development of SQA? Check out pro.theta.eu.org, where I blog about its ongoing development (here's the first post).

licensing

sqa-backend and sqa-ui are both licensed under the GNU GPL version 3. Essentially, this means that you have to share your changes if you distribute modified versions of SQA (as well as enforcing some other freedom-related protections). This is done in the hope that SQA will remain free and open-source software.

However, the libraries used by and created for SQA, sqa-jack, sqa-ffmpeg, sqa-engine, and sqa-osc-custom-derive, are licensed under the Creative Commons Zero license. This means that you can do whatever the hell you want with these libraries.