Gemessen über kAudioProcessPropertyIsRunningInput: mit laufendem Mixer nimmt Onyx auf, ohne ihn nicht. Ein Process Tap ist für macOS eine Tonaufnahme — auch wenn damit nur die Lautstärke geregelt wird. Solange der Mixer Chrome und Firefox abgreift, steht das orange Symbol in der Leiste. Der Mixer stand seit der Fehlersuche am Wochenende auf „automatisch starten", deshalb war es dauerhaft. Das Häkchen steht jetzt wieder aus. Ein Hinweis unter dem Häkchen sagt das jetzt, wo die Entscheidung fällt: wer das Symbol ohne Erklärung sieht, sucht den Fehler bei sich oder hält die App für unsauber. Dazu ein echter Fund an derselben Stelle: der Mikrofonpegel hing an `onDisappear` der View — und das bleibt bei einem NSPopover aus. Dessen Controller lebt nach dem Schließen weiter, die View verschwindet nie aus der Hierarchie. Die Messung wäre also beim ersten Öffnen angegangen und nie wieder aus. Sie hängt jetzt am Popover selbst: `MenuBarModule` bekommt `popoverDidOpen`/`popoverDidClose`, gemeldet auch dann, wenn das Popover von selbst zugeht — beim Wechsel in eine andere App etwa. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
286 lines
6.6 KiB
Plaintext
286 lines
6.6 KiB
Plaintext
{
|
||
"sourceLanguage": "en",
|
||
"strings": {
|
||
"": {},
|
||
"%lld %%": {
|
||
"comment": "A row of controls for adjusting the volume and muting a process.",
|
||
"isCommentAutoGenerated": true,
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld %%"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld %%"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.autostart": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Beim Start von Onyx einschalten"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Turn on when Onyx starts"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.input": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Eingabe"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Input"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.name": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Audio-Mixer"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Audio mixer"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.noProcesses": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Kein Programm gibt gerade Ton aus"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "No app is playing audio"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.notAdjustable": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Hier nicht regelbar"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Not adjustable here"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.off": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Mixer ausschalten"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Turn mixer off"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.off.explain": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Lautstärke einzelner Programme regeln, auch über 100 %."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Set the volume of individual apps, including above 100 %."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.off.warning": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Onyx leitet den Ton der geregelten Programme um. Beim Ausschalten ist der ursprüngliche Weg sofort wiederhergestellt."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Onyx routes the audio of the apps you control. Turning the mixer off restores the original path immediately."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.on": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Mixer einschalten"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Turn mixer on"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.output": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Ausgabe"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Output"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.overdrive": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Overdrive — bis 400 %, kann hörbar verzerren"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Overdrive — up to 400 %, may distort audibly"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.recordingHint": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Solange der Mixer läuft, zeigt macOS das orange Aufnahmesymbol: Ton abgreifen heißt für das System aufnehmen, auch wenn nur die Lautstärke geregelt wird."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "While the mixer runs, macOS shows the orange recording dot: tapping audio counts as recording to the system, even when only the volume is adjusted."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.release": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nicht mehr regeln"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Stop controlling"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.reset": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Zurück auf 100 %"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Back to 100 %"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.section.apps": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Programme"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Programs"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mixer.section.system": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "System"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "System"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"–": {
|
||
"comment": "A placeholder for the volume of a process.",
|
||
"isCommentAutoGenerated": true
|
||
}
|
||
},
|
||
"version": "1.1"
|
||
}
|