Skip to content

Playtime: Add Linux support - Stage 1 #1391

@helgoboss

Description

@helgoboss

The goal is to run Playtime Engine and the Helgobox App on Linux. This will happen in 2 stages. Stage 1 comes with the limitation that the Helgobox App will only work standalone as a separate main process and window, not yet integrated into REAPER. It communicates with the plug-in over a local network TCP/IP connection

I did initial tests and identified the following todos.

Primary todos:

  • GitHub Actions: Enable feature playtime and licensing when building the plug-in on Linux (x64 and arm64)
  • Extend helgobox-devtool to support publishing Helgobox App from Linux (x64 and arm64)
  • Enable code blocks which are currently disabled on Linux (x64 and arm64)
  • Add ReaPack files (x64 and arm64)
  • Look into shipping as combined shared library and executable
  • Make Helgobox App connection configurable and encode desired instance as part of the location
  • Improve Helgobox App command line usage
  • Implement thread priority stuff correctly
  • Fix emojis in App:
    • Purchase button
    • Settings screen arrow
    • Fader
  • Fix issues with gRPC server seemingly sending data in bursts (it's not a client issue!) => This turned out to be a temporary issue on the VM
  • Save/load configuration (to/from user home)
  • Adjust max thread priority value (await Justin's response) (moved to stage 2)
  • Actually publish Linux version of Helgobox App (x64 and arm64)

Secondary todos:

  • Make the Helgobox extension work on Linux (loading plug-in library in advance)
  • Implement mouse cursor locking for Linux
  • Improve mouse cursor locking on Linux (right now, it grabs the cursor a bit slowly after starting too drag) (moved to stage 2)

Nice-to-have todos:

  • Improve stage 1 message when clicking Playtime button on Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestplaytimeRelated to Playtime

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions