id = "loopback" name = "Loopback" homepage = "https://rogueamoeba.com/loopback/" description = "Cable-free audio routing for Mac." # The app icon from Rogue Amoeba's product page. icon = "https://rogueamoeba.com/global/images/icons/256/loopback.png" # Loopback has no command line. The Homebrew cask's uninstall stanza names the # identifiers the platform reports — `quit ["com.rogueamoeba.Loopback", # "com.rogueamoeba.loopbackd"]` (https://formulae.brew.sh/api/cask/loopback.json) # — of which the first is the application. executables = [] platforms = ["macos"] [installation] macos_bundle_ids = ["com.rogueamoeba.Loopback"] [dotfiles] # The same cask's `zap trash:` list names two user-level locations that are # settings rather than state: ~/Library/Application Support/Loopback, which is # where the virtual audio devices the user built are defined, and # ~/Library/Preferences/com.rogueamoeba.[Ll]oopback*.plist, the application's # defaults domain. The cask writes that second one as a glob because Rogue # Amoeba has shipped more than one spelling; the one below is the identifier the # same cask uses to quit the app. # # Everything else the cask zaps is per-machine state kept elsewhere — # ~/Library/Caches/com.rogueamoeba.Loopback, # ~/Library/HTTPStorages/com.rogueamoeba.[Ll]oopback*, # ~/Library/Saved Application State/… and ~/Library/WebKit/… — so nothing above # needs carving out. paths = [ "[appData]/Loopback/", "[preferences]/com.rogueamoeba.Loopback.plist", ] # Loopback is licensed rather than account-based, and the licence is entered in # the app; Rogue Amoeba's own installer component # (~/Library/LaunchAgents/com.rogueamoeba.loopbackd.plist, which the cask # deletes on uninstall) is not below anything listed here. No file above is a # credential end to end. secret = [] # No machine_lines: the device definitions and the preferences domain are the # routing setup the user built, which is the reason to carry them. They do # reference audio devices by name, which is arguably machine-local, but that is # inside a property list, and `match` reads only line-oriented files, TOML, # YAML and JSON.