Skip to content

SwiftUI architecture for macOS ? #1251

@zinc75

Description

@zinc75

Just proposing an idea here to see if it makes sense before actually begining work on it.

The idea: a native SwiftUI alternative to faust2caqt and faust2jaqt on macOS — something like faust2casw (CoreAudio + SwiftUI) and faust2jasw (JACK + SwiftUI).

The problem Qt solves is real, but it's also a heavy dependency for macOS users who just want to run a Faust DSP. Getting Qt installed and on the right PATH is more friction than it should be. SwiftUI ships with the OS, so that problem would go away entirely + the advantage of having faust generated apps perfectly integrated in the macOS ui.

My first toughts on it are that the rough approach would be:

  • An Objective-C++ bridge implementing the UI interface, connecting the generated DSP to a SwiftUI view
  • SwiftUI views built dynamically from buildUserInterface() (sliders, buttons, bargraphs, groups)
  • Thread-safe updates from the audio thread via DispatchQueue.main
  • New scripts consistent with the existing faust2appls conventions
  • macOS 13+ only — not trying to replace Qt for cross-platform targets, this would be only complimetary for people like me wanting to better integrate faust apps in their macOS system.

Before going any further: does this seem like a useful direction? Do you see any clear showstopper ? Would a clean PR (after a maybe long work) along these lines be welcome? And has anything similar been tried before?

Best regards,

Eric

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions