Skip to content

Commit 578e19f

Browse files
committed
Update README.md
1 parent e8c39ec commit 578e19f

File tree

1 file changed

+38
-4
lines changed

1 file changed

+38
-4
lines changed

README.md

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,22 +92,49 @@ StreamTweak automatically locates the streaming server log file at startup and r
9292
→ config\sunshine.log (static)
9393
```
9494

95-
### Session Logging (v3.0.0+)
96-
Every speed-change event — whether triggered automatically or manually — is recorded as a `SessionEntry` and persisted to `%LOCALAPPDATA%\StreamTweak\sessions.json`. The Logs tab reads this file and displays the last 10 sessions in real time.
95+
### Session Logging (v3.0.0+, overhauled in v4.3.0)
96+
Every streaming sessionregardless of whether NIC throttle was applied — is recorded as a `SessionEntry` and persisted to `%LOCALAPPDATA%\StreamTweak\sessions.json`. The Logs tab reads this file and displays the last 10 sessions in real time.
9797

9898
```
9999
SessionEntry {
100100
Id → short unique identifier
101101
StartTime → when the session began
102-
EndTime → when the original speed was restored (null if active or interrupted)
102+
EndTime → when the session ended (null if active or interrupted)
103103
TriggerMode → "Auto" | "Manual"
104-
OriginalSpeed → the speed key that will be restored on session end
104+
OriginalSpeed → the speed key that will be restored on session end (null if no throttle)
105105
EndReason → "User" | "Disconnected" | "Interrupted" (null if still active)
106106
}
107107
```
108108

109+
`NicThrottleDisplay` and `OriginalNicSpeedDisplay` are computed display properties derived from `OriginalSpeed`: if it is set the session involved a speed change (Yes / the original speed); otherwise the NIC was not throttled (No / N/A). Session tracking (`_isAutoSessionActive`) is independent of the NIC throttle state (`isAutoStreamingActive`), so every detected stream is logged even when Auto Streaming Mode is off.
110+
109111
The same discovery pipeline used for log monitoring (`LogParser.FindStreamingAppInfo`) is surfaced in the Logs tab, so the user can verify at a glance which streaming server StreamTweak has detected and navigate directly to its log folder.
110112

113+
### Streaming App Manager (v4.3.0+)
114+
`ManagedAppController` is a shared static class that reads `%LOCALAPPDATA%\StreamTweak\managedapps.json` and provides kill/relaunch logic used both by the manual buttons in the Apps tab and by the automated session lifecycle hooks in `App.xaml.cs`.
115+
116+
```
117+
Stream start detected
118+
119+
120+
ManagedAppController.KillRunning()
121+
│ filters AutoManage = true
122+
├─ Process.GetProcessesByName(nameNoExt) → kill all matching processes
123+
└─ fallback: full process scan by MainModule.FileName → handles Electron / renamed hosts
124+
125+
126+
_appsToRelaunch ← paths of processes that were actually running
127+
128+
Stream end detected
129+
130+
131+
ManagedAppController.StartApps(_appsToRelaunch)
132+
│ Process.Start with UseShellExecute = true
133+
└─ best-effort, silent — each app restarted independently
134+
```
135+
136+
The kill step runs at all three session-start entry points (`HandleAutoStreamStart`, manual Start button, TCP bridge `PREPARE` command), ensuring consistent behavior regardless of how the session was initiated.
137+
111138
### Auto Dolby Atmos for Headphones (v3.1.0+)
112139
When a streaming session is detected and remains active for 30 continuous seconds, `DolbyAudioMonitor` queries the Windows Spatial Audio API (`SpatialAudioDeviceConfiguration`) on Steam Streaming Speakers and sets Dolby Atmos for Headphones as the active spatial audio format. Detection of [Dolby Access](https://apps.microsoft.com/detail/9n0866fs04w8) also uses the same API — if any render device reports `DolbyAtmosForHeadphones` as a supported format, the feature is considered available.
113140

@@ -193,6 +220,13 @@ LogParser.FindStreamingAppInfo()
193220
5. The Status box in the Audio tab turns **green** to confirm activation
194221
6. When the streaming session ends, the countdown is cancelled — activation only happens once per session
195222

223+
### 📱 Streaming App Manager
224+
1. Open the **Apps** tab and click **Add** to add any executable you want StreamTweak to manage
225+
2. Use the toggle next to each app to include or exclude it from automation independently
226+
3. When a streaming session starts, StreamTweak automatically kills all apps with AutoManage enabled and remembers which ones were running
227+
4. When the session ends, those apps are automatically relaunched
228+
5. Use **End now** and **Restart** at any time to kill or relaunch a specific app on demand, without waiting for a streaming session
229+
196230
## 📝 Installation
197231
1. Go to the **Releases** page of this repository.
198232
2. Download the latest `StreamTweak_4.3.0_Installer.exe`

0 commit comments

Comments
 (0)