#DevLog: #Anklang TypeScript & Sndfile Updates

🌐 #Jsonipc #TypeScript migration complete, including codegen!

πŸ“š Updated development docs accordingly

πŸ› οΈ Manually wrote #libsndfile config.h

⚑ Major #Sndfile build speedup without #cmake

#BuildInPublic #100DaysOfCode

#DevLog: jj-fzf & #Anklang type safety πŸ’‘

πŸ“¦ Migrated all #Jsonipc glue code to #TypeScript
🧹 Finally removed legacy #castxml + #Python based code generator
🧩 Next up: porting generated bindings to TypeScript, aiming for fully type-safe #IPC!

🌐 Fixed jj-fzf to preserve ::@ history when deleting #git tags

#100DaysOfCode #BuildInPublic #Jujutsu #VCS

#DevLog: #Anklang #IPC Bindings πŸ”„

🧹 Cleaned up #API for IPC and simplified it

πŸ› οΈ Rewrote C++ <-> #JavaScript binding generator in #TypeScript

✨ Improved code generation for handling of accessors

πŸ“¦ Tested updated #NPM dependencies

#BuildInPublic #Cpp #100DaysOfCode

#DevLog: #Anklang Build & Codegen πŸ› οΈ

πŸ“¦ Fixed #AppImage builds failing due to missing linuxdeploy and appimage-runtime-zstd

πŸ”„ Explored tracking generated sources in #Git + codegen rules for auto-updating them

πŸ” Still working on robust detection for when triggering rebuilds is needed

#Cpp #BuildInPublic #100DaysOfCode

#DevLog: #Anklang #RPC Evolution πŸ”„

🧱 More JSON marshalling work for method calls
πŸ› οΈ Changed Json libraries and conversion logic
πŸ”— Moved to managed pointers for all API obejcts
🧠 Discovered LLMs don't fully understand cross-language RPC nuances… πŸ˜•

βœ… Solved the C++ template specialization issues

#Cpp #TypeScript #100DaysOfCode #BuildInPublic

#DevLog: #Anklang Binding Migration πŸ§ͺ

πŸ› οΈ Trying to base the C++ <-> JSON bindings on `#clang -extract-api` instead of castxml

πŸͺ› Have prototype code for #JSON call dispatching

🧩 Atm fighting #CPlusPlus template specializations for member func with and w/o const

✨ The ultimate goal is to make the bindings type safe with #Typescript wrappers

#100DaysOfCode #BuildInPublic

#DevLog: #Anklang Build Overhaul πŸ› οΈ

πŸ”§ Reworked build rules to make #Git optional (mostly used to find linting targets)

πŸͺ› Fixed DEB and #AppImage builds

πŸ“¦ Added #RPM packages (via Alien)

πŸ€– Automated dist & install verification

πŸ‹ Rewrote the Docker CI container

πŸ›‘οΈ Isolated binary builds out-of-tree

πŸš€ Tagged a nightly release:

https://github.com/tim-janik/anklang/releases

#100DaysOfCode #CI_CD #BuildSystems

Releases Β· tim-janik/anklang

MIDI and Audio Synthesizer and Composer. Contribute to tim-janik/anklang development by creating an account on GitHub.

GitHub

#DevLog: #Anklang #Submodule Purge

🚧 #Github release tar/zip archives cannot include submodule sources
πŸ“₯ So, we now fetch all external sources as tarballs (faster anyway)
🧹 Deleted .gitmodules and all submodule build rules

#100DaysOfCode #Packaging #Git

#DevLog: #Anklang Dependencies πŸ’»

🧨 #GitHub's tarball/zip generation via #Git archive excludes submodules
βœ… So… moving to fetch C++ deps via #curl now
πŸ”„ Finished shell.js to shell.jsx (#SolidJS) migration

#100DaysOfCode #Packaging #LitToSolid

#DevLog: #Anklang #Packaging 🐧

πŸ“¦ Tried converting DEB pkgs to RPMs via alien & fakeroot
❄️ Alien wraps postinstall scripts in uuencoded strings, decodes with #Perl
πŸ’₯ #Fedora 42 dropped Perl support!

❓ Seeking solutions to align Alien v8.95.6 with F42, any ideas? πŸ€”

#100DaysOfCode