### setup ###
packages:
sudo aptitude install -y \
audacity \
coffeescript \
curl \
git \
libffi-dev \
libjpeg8-dev \
libssl-dev \
libzmq3-dev \
nginx-core \
nginx-full \
normalize-audio \
npm \
python3-cairo \
python3-dev \
python3-opencv \
python3-pygame \
python3-tk \
tix \
zlib1g-dev
gst_packages:
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:
# holding pnpm back because we don't have the latest nodejs: https://pnpm.io/installation#compatibility
sudo npm install -g pnpm@6.32.12
bin/node:
ln -sf `which nodejs` bin/node
js: pnpm
pnpm install --reporter append-only
py:
pdm sync
refresh: packages gst_packages js py
bin/ascoltami2: gst_packages link_to_sys_packages
effect_node_setup: create_virtualenv packages binexec install_python_deps
tkdnd_build:
# get tkdnd r95 with subversion
# then apply tkdnd-patch-on-r95 to that
cd tkdnd/trunk
./configure
make
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
### build ###
coffee:
zsh -c 'cd light9/web; ../../node_modules/coffeescript/bin/coffee --map -cw {.,live,timeline,paint,effects}/*.coffee'
### show ###
qlc_artnet_dmx_proxy:
qlcplus --open cur/qlc.qxw
no_screen_blanking:
xset s off
xset -dpms
darcs_show_checkpoint:
darcs add --quiet --recursive ${LIGHT9_SHOW}
darcs rec -a -m "checkpoint show data" ${LIGHT9_SHOW}
### 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 ###
NOSEARGS="--no-path-adjustment light9.rdfdb.rdflibpatch light9.rdfdb.patch light9.effecteval.test_effect light9.collector light9.rdfdb.graphfile_test light9.paint light9.effect"
tests:
eval pdm run nosetests -x $(NOSEARGS)
tests_watch:
eval pdm run nosetests --with-watcher $(NOSEARGS)
tests_coverage:
eval pdm run nosetests --with-coverage --cover-erase --cover-html --cover-html-dir=/tmp/light9-cov/ --cover-package=light9 --cover-branches $(NOSEARGS)
test_js_init:
npm install
test_js:
pnpx coffee -c light9/web/*.coffee
pnpx mocha --compilers coffee:coffee-script/register --globals window,N3 light9/web/graph_test.coffee
test_js_watch:
# have coffee continuously running
watch -c pnpx mocha --compilers coffee:coffee-script/register --globals window,N3 light9/web/graph_test.coffee --colors
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
Status change: