aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--AppImage.yml53
-rw-r--r--README.md2
-rw-r--r--TODO7
3 files changed, 56 insertions, 6 deletions
diff --git a/AppImage.yml b/AppImage.yml
new file mode 100644
index 0000000..c6c6ab5
--- /dev/null
+++ b/AppImage.yml
@@ -0,0 +1,53 @@
+app: applause
+
+ingredients:
+ packages:
+ # The binary links against these:
+ - libreadline
+ # libjack must be used from the host system...
+ #- libjack-jackd2
+ #- libluajit-5.1
+ # Required only at runtime.
+ # Development packages are not strictly required, but they provide the plain *.so symlinks
+ # that LuaJIT FFI expects:
+ - libsndfile1-dev
+ - libasound2-dev
+ - feedgnuplot
+ # FIXME: No matter what, we cannot get rid of gnuplot-qt, pulled in by feedgnuplot...
+ #- gnuplot-x11
+ dist: focal
+ sources:
+ - deb http://archive.ubuntu.com/ubuntu/ focal main universe
+ script:
+ - wget -O applause.tar.gz -c "https://github.com/rhaberkorn/applause2/archive/refs/heads/master.tar.gz"
+ # Will leave an "applause2-master" directory.
+ - tar xzf applause.tar.gz
+ # NOTE: The LuaJIT from Ubuntu is too outdated.
+ - wget -O luajit.tar.gz -c "https://github.com/LuaJIT/LuaJIT/archive/refs/heads/v2.1.tar.gz"
+ # Will leave a "LuaJIT-2.1" directory.
+ - tar xzf luajit.tar.gz
+
+script:
+ # Install build-time dependencies
+ - sudo apt-get install -y build-essential lua5.1 libreadline-dev libjack-jackd2-dev
+ - make -C ../LuaJIT-2.1 DESTDIR=`pwd` PREFIX=/usr install
+ - make -C ../applause2-master LUA_CFLAGS="-I`pwd`/usr/include/luajit-2.1" LUA_LDFLAGS="-L`pwd`/usr/lib -lluajit-5.1"
+ - cp -r ../applause2-master ./usr/share/applause
+ # Will be required by the ILua fork
+ - ln -s ../share/applause/ilua-wrapper.sh ./usr/bin/lua
+ - ln -s ../share/applause/ilua-wrapper.sh ./usr/bin/applause
+ # Some thinning - remove unneeded files
+ - find . -name "*.a" -delete
+ - rm -rf ./usr/share/doc
+# - cp ../applause2-master/applause.desktop .
+ - cat >applause.desktop <<EOF
+ - [Desktop Entry]
+ - Type=Application
+ - Categories=Audio
+ - Icon=applause
+ - Name=Applause (CLI)
+ - Exec=applause %u
+ - Terminal=true
+ - EOF
+ # FIXME: Add a real icon.
+ - touch applause.svg
diff --git a/README.md b/README.md
index abd8bde..b3247c1 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ You have to manually build and install LuaJIT v2.1:
Furthermore, install the following dependencies (Ubuntu):
sudo apt-get install build-essential libreadline-dev libjack-jackd2-dev \
- libsndfile1 libasound2 feedgnuplot
+ libsndfile1-dev libasound2-dev feedgnuplot
On FreeBSD, you will need the following packages/ports:
diff --git a/TODO b/TODO
index 0e4e2f9..cfe8451 100644
--- a/TODO
+++ b/TODO
@@ -53,11 +53,6 @@
Can we change what index.html points to?
Alternatively, we could make a simple browser-side forwarding.
* Allow limited operation without a running Jack server.
-* Package everything including Jupyter in Docker container.
- This requires mounting via -v /dev/shm:/dev/shm:rw -u $(id -u):$(id -g).
- Ideally, this will work with X11 windows as well.
- Perhaps bundle https://github.com/Xpra-org/xpra/.
- The HTML client might even allow integrating Tk windows into Jupyter cells?
* Widget toolkit integration.
We could optionally integrate Gtk (lgi) or Tcl and drive their main loops from Stream:iter() or Stream:play()
whenever their modules are loaded.
@@ -73,6 +68,8 @@
runs in its own process (no need to drive the main loop), can potentially work with Broadway (Web)
backend that could be hacked into Jupyter as well.
On the other hand, to get values back into Lua, you will have to poll a TCP socket or FIFO anyway.
+ Perhaps bundle https://github.com/Xpra-org/xpra/.
+ The HTML client might even allow integrating Tk windows into Jupyter cells?
* Spectrogram output via ffmpeg.
This can be made to work in a window, Jupyter notebook and in the console.
Theoretically, we can even support realtime analysis and render into Kitty by piping into mpv.