### setup ### packages: sudo aptitude install -y \ audacity \ coffeescript \ curl \ git \ libblas-dev \ libcairo2-dev \ libffi-dev \ libjpeg8-dev \ liblapack-dev \ libssl-dev \ libzmq3-dev \ mercurial \ nginx-core \ nginx-full \ normalize-audio \ python3-cairo-dev \ python3-dev \ python3-opencv \ python3-pygame \ python3-tk \ sox \ tix \ zlib1g-dev gst_packages: sudo aptitude install -y \ gir1.2-goocanvas-2.0 \ gir1.2-gst-plugins-base-1.0 \ gir1.2-gstreamer-1.0 \ gstreamer1.0-plugins-good \ gstreamer1.0-pulseaudio \ gstreamer1.0-tools \ libgirepository-1.0-1 \ libgirepository1.0-dev \ python3-gi \ python3-gst-1.0 pnpm: sudo npm install -g pnpm@8.12.0 bin/node: ln -sf `which nodejs` bin/node pdm_local_install: # drew has ~/bin in $PATH pip install "pdm==2.12.4" ln -s ../.local/bin/pdm ~/bin js: pnpm install --reporter append-only py: pdm sync setup: packages gst_packages pnpm js py deps: js py push_github: hg bookmark -r default main && hg push git+ssh://git@github.com/drewp/light9.git pull_github: hg pull git+ssh://git@github.com/drewp/light9.git pydeps: echo make sure src/light9/all_deps.py depends on all toplevel tools pdm run pydeps --only=light9 --reverse --rankdir=BT --max-bacon=0 -o=work/2024/pydeps_output.svg --no-show -T=svg src/light9/all_deps.py echo wrote https://bigasterisk.com/light9/work/2024/pydeps_output.svg ### show ### qlc_artnet_dmx_proxy: qlcplus --open cur/qlc.qxw performance_mode: for x ( /sys/devices/system/cpu/cpufreq/policy*/scaling_governor) { echo performance | sudo tee $x } no_screen_blanking: xset s off xset -dpms pulseaudio_loopback_device: pactl load-module module-loopback show_data_checkpoint: hg add ${LIGHT9_SHOW} hg com ${LIGHT9_SHOW} -m "checkpoint show data" ### pi setup ### raspberry_pi_packages: sudo apt-get install python3-picamera python3-dev python3-twisted python3-virtualenv raspberry_pi_virtualenv: mkdir -p env_pi virtualenv -p /usr/bin/python3 --system-site-packages env_pi env_pi/bin/pip install cyclone 'coloredlogs==6.0' ### arduino build ### /usr/share/arduino/Arduino.mk: sudo aptitude install arduino-mk arduino_upload: /usr/share/arduino/Arduino.mk cd rgbled make upload ### testing ### pytest: pdm run pytest pytest_watch: pdm run pytest-watch test_js: pnpm exec vitest profile_seq: echo in lib, get https://github.com/uber/pyflame.git and https://github.com/brendangregg/FlameGraph.git sudo lib/pyflame/src/pyflame -s 10 -p `pgrep -f effectsequencer` | perl -lpe 's,/home/drewp/projects-local/light9/,,g; s,env/local/lib/python2.7/site-packages/,,g;' | lib/FlameGraph/flamegraph.pl --width 2500 > /tmp/fl.svg