Tech: To improve the looks of a webcam on Zoom, one can use the free Open Broadcaster Software (OBS). Different scenes can be used to show your webcam, desktop or a combination of both, and logo overlays are easy as well.
sudo apt install obs-studio
sudo modprobe v4l2loopback video_nr=10 card_label="OBS Video Source" exclusive_caps
To switch between scenes, you can set up hotkeys, however for AUD 60, I managed to get my hands on a Novation Launchpad Mini, which is a 9x9 grid of lit buttons, that works via the Midi protocol over USB. I wanted to use this to switch between scenes in OBS, such that I don't have to manually set global keyboard shortcuts press multiple buttons on my keyboard:
The Java program uses an OBS-websocket library for Java, and should be cross platform.
sudo modprobe v4l2loopback video_nr=10 card_label="OBS Video Source" exclusive_caps #enable the virtual webcam { obs --scene "Intro" #start OBS with the mentioned scene selected pkill -f "java -jar OBSLaunchpad.jar" #after closing OBS, kill the Java program sleep 1 #give the Java program a chance to shut down #find Launchpad hardware port DEVICE="Launchpad Mini MIDI 1" PORT=1 while IFS=' ' read dir dev name; do case "$name" in $DEVICE ) PORT=$dev;; esac done <<< "$(amidi -l)" amidi -p $PORT -S B00000 #turn all LEDs off } & sleep 1 #give OBS a chance to start the websocket server java -jar OBSLaunchpad.jar #start the Java program
\usepackage{paralist} \renewenvironment{thebibliography}[1]{% \section*{\refname}\inparaenum[{[}1{]}]}{\endinparaenum}(adapted from Stackexchange)
The file.
The manual.
The class file.
Update 03-09-2019: Added randomisation for answers.
Update 12-04-2019: \printPointsA now does not print points twice anymore.
The class file.
The main file.
There's a handy option in the class declaration: if you add the optional option [chapter=X], it will only compile Chapter X. This saves a lot of time while writing.