Skip to content

Latest commit

 

History

History
54 lines (49 loc) · 2.06 KB

README.md

File metadata and controls

54 lines (49 loc) · 2.06 KB

hacktrip

jacktrip hub client with rtaudio and a new API (optionally built as libraries)

hacktrip is a hub client written from scratch and hopefully a handy tutorial, too

  • simplified, uses rtaudio and qt sockets in standard ways
  • establishes a client API to connect local audio to a hub server
  • API components in hapitrip.h and hapitrip.cpp
  • hapitrip creates a shared library
  • grabs latest rtaudio as git submodule from URL and builds as shared library
  • works for linux and windows
  • qt5 and qt6 compatible

code examples (all are qt projects, supported by qt creator workflow)

  • app called "app"
    • minimal GUI (qt designer)
    • hapitrip, rtaudio and regulator are included via shared libraries
      • open in creator project file guiDemo/guiDemo.pro
      • executable is app/app
  • plugin called "ChuckTrip" is a chuck chugin accessible from chuck scripts
    • this version is with hapitrip and regulator compiled in for ease of chucking (but shared lib tests ok, too)
      • open in creator project file ChuckTrip/ChuckTrip.pro
      • chugin is ChuckTrip/ChuckTrip.chug
      • example chuck scripts in chucktrip/ck/

tutorials that can result from the code examples

  • "app" AUDIO_ONLY = rtaudio local audio loopback, uses audio callback, sine test
  • "app" SERVER_HANDSHAKE_ONLY = connect to server, keep connection alive, quit
  • "app" (complete) = bidirectional audio stream, simple ring buffer for received packets
  • "ChuckTrip" (complete) = a plugin that uses sample synchronous polling and has no event loop

Done:

  • integrate all of the above into new branch dev
  • flush out API with choice of server, FPP, channels, etc.
  • fully comment all code examples
  • document API
  • merge to main
  • release 0.2
  • project layouts completed
  • merge to main
  • release 0.2.1
  • substitute regulator.h and regulator.cpp for the initial simple ring buffer
  • release 0.3

TODO:

gVersion = "0.4-rc.1"
  • generate existing ChuckTrip.cpp automatically (not by hand)
  • generate the full API so its equivalent to guiDemo
  • release 0.4
gVersion = "0.5-rc.1"
  • try things out in a concert setting