1414 </ ion-toolbar >
1515 </ ion-header >
1616 <!-- <ion-toolbar class="ion-no-padding ion-no-margin" color="light"> -->
17- < ion-segment color ="primary " [(ngModel)] ="segment " [scrollable] ="true ">
18- < ion-segment-button value ="camilla-dsp ">
19- < ion-label > Camilla DSP</ ion-label >
20- </ ion-segment-button >
17+ < ion-segment color ="primary " [(ngModel)] ="segment " [scrollable] ="true ">
18+ < ion-segment-button value ="camilla-dsp ">
19+ < ion-label > Camilla DSP</ ion-label >
20+ </ ion-segment-button >
2121
22- < ion-segment-button value ="soundcard ">
23- < ion-label >
24- Soundcard</ ion-label >
25- </ ion-segment-button >
22+ < ion-segment-button value ="soundcard ">
23+ < ion-label >
24+ Soundcard</ ion-label >
25+ </ ion-segment-button >
2626
2727
28- < ion-segment-button value ="details ">
29- < ion-label > Info</ ion-label >
30- </ ion-segment-button >
28+ < ion-segment-button value ="details ">
29+ < ion-label > Info</ ion-label >
30+ </ ion-segment-button >
3131
32- < ion-segment-button value ="settings ">
33- < ion-label > Settings</ ion-label >
34- </ ion-segment-button >
35- </ ion-segment >
32+ < ion-segment-button value ="settings ">
33+ < ion-label > Settings</ ion-label >
34+ </ ion-segment-button >
35+ </ ion-segment >
3636 <!-- </ion-toolbar> -->
3737
3838 < ng-container *ngIf ="segment === 'details' ">
3939 < ion-list *ngIf ="serverState | async as state ">
40+ < ion-item *ng >
41+
42+ </ ion-item >
4043 < ion-item >
4144 < ion-label >
4245 < h2 > Snap Client Information</ h2 >
@@ -84,47 +87,50 @@ <h2>Camilla DSP Information</h2> -->
8487 </ ng-container >
8588
8689 < ng-container *ngIf ="segment === 'soundcard' ">
87- < ion-button expand ="full " color ="primary " (click) ="getHardwareInfo() ">
88- Refresh Soundcard Info
89- </ ion-button >
90+
9091 < ion-list *ngIf ="hardwareStatus$ | async as hardwareStatus ">
91- < ion-item >
92+ < ion-card >
9293 < ion-label >
9394 < h2 > Soundcard Information</ h2 >
9495 < hr />
95- < h3 > Detected Hardware </ h3 >
96- < ng-container *ngIf ="hardwareStatus.detectedHardware; else noHardware ">
9796
98- < p > Name: {{ hardwareStatus.detectedHardware.name}}</ p >
99- < p > Id: {{ hardwareStatus.detectedHardware.id}}</ p >
100- < p > isMatched: {{ hardwareStatus.isMatch}}</ p >
101- </ ng-container >
102- < ng-template #noHardware >
103- < p > No hardware detected.</ p >
104- </ ng-template >
10597 < ng-container *ngIf ="hardwareStatus.currentConfig; else noConfig ">
10698 < hr />
10799 < h3 > Config Status </ h3 >
100+ < img [src] ="'assets/soundcards/' + hardwareStatus.currentConfig.id + '.webp' " #myImage
101+ (error) ="myImage.src = 'assets/placeholder/audio_board_placeholder.webp' " />
108102 < p > Name: {{ hardwareStatus.currentConfig.name}}</ p >
109103 < p > Id: {{ hardwareStatus.currentConfig.id}}</ p >
110104 < p > isMatched: {{ hardwareStatus.isMatch}}</ p >
111105 </ ng-container >
106+ < ion-button expand ="full " color ="primary " (click) ="openSoundcardPicker() ">
107+ < ion-icon name ="create " slot ="start "> </ ion-icon >
108+ Choose Soundcard
109+ </ ion-button >
112110 < ng-template #noConfig >
113111 < p > No current configuration available.</ p >
114112 </ ng-template >
113+ <!-- <h3>Detected Hardware </h3>
114+ <ng-container *ngIf="hardwareStatus.detectedHardware; else noHardware">
115+
116+ <p>Name: {{ hardwareStatus.detectedHardware.name}}</p>
117+ <p>Id: {{ hardwareStatus.detectedHardware.id}}</p>
118+ <p>isMatched: {{ hardwareStatus.isMatch}}</p>
119+ </ng-container>
120+ <ng-template #noHardware>
121+ <p>No hardware detected.</p>
122+ </ng-template> -->
123+
115124
116- < ion-button expand ="full " color ="tertiary "
117- (click) ="openSoundcardPicker() ">
118- Open Soundcard Picker
119- </ ion-button >
120125
121- < ion-button expand ="full " color ="secondary "
126+
127+ <!-- <ion-button expand="full" color="secondary"
122128 (click)="applySoundcardConfig(hardwareStatus.detectedHardware.id)">
123129 Apply Detected Soundcard Config
124- </ ion-button >
130+ </ion-button> -->
125131 </ ion-label >
126- </ ion-item >
127- < ion-item >
132+ </ ion-card >
133+ <!-- < ion-item>
128134 Manual Soundcard Config ID:
129135 <ion-select placeholder="Select Soundcard" [(ngModel)]="manualHatId">
130136 <ion-select-option *ngFor="let hat of hats" [value]="hat.id">
@@ -135,8 +141,11 @@ <h3>Config Status </h3>
135141 </ion-item>
136142 <ion-button expand="full" color="secondary" (click)="applySoundcardConfig(manualHatId)">
137143 Apply Manual Soundcard Config
138- </ ion-button >
144+ </ion-button> -->
139145 </ ion-list >
146+ < ion-button fill ="clear " expand ="full " color ="primary " (click) ="getHardwareInfo() ">
147+ < u > Refresh Soundcard Info</ u >
148+ </ ion-button >
140149 </ ng-container >
141150
142151 < ng-container *ngIf ="segment === 'settings' ">
@@ -160,63 +169,25 @@ <h3>Snapcast Server Status</h3>
160169 Enable Snapcast Server
161170 </ ion-button >
162171
172+ <!-- <ion-button expand="full" color="primary" (click)="chooseSpeakers()">
173+ Choose Speakers
174+ </ion-button> -->
175+
176+
163177 </ div >
164178 </ ng-container >
165179 < ng-container *ngIf ="segment === 'camilla-dsp' ">
166180 < app-camilla-dsp *ngIf ="camillaDspUrl " [url] ="camillaDspUrl "> </ app-camilla-dsp >
167181 </ ng-container >
168182
169183
170- <!-- <ion-list *ngIf="serverState | async as state">
171- <ion-item>
172- <ion-label>
173- <h2>Connection Status</h2>
174- <p>Last Seen: {{ client.lastSeen.sec * 1000 | date: 'long' }}</p>
175- <p>Status: {{ client.connected ? 'Connected' : 'Disconnected' }}</p>
176- <p>Id: {{ client.id }}</p>
177-
178- <ng-container *ngIf="state.server.groups">
179- <ng-container *ngFor="let group of state.server.groups">
180- <ng-container *ngFor="let client of group.clients">
181- <p *ngIf="client.id === id">Group: {{ group.name }}</p>
182- </ng-container>
183- </ng-container>
184-
184+
185185
186- </ng-container>
187- </ion-label>
188- <ion-button fill="outline" slot="end" (click)="refreshClient()">
189- <ion-icon name="refresh"></ion-icon>
190- Refresh
191- </ion-button>
192- </ion-item>
193-
194- <ion-item>
195- <ion-input label="Name" labelPlacement="floating" type="text" placeholder="Enter client name"
196- [(ngModel)]="client.config.name" (ngModelChange)="setClientName()"></ion-input>
197- </ion-item>
198- <ion-item>
199- <ion-input label="Latency (in ms)" labelPlacement="floating" type="number" placeholder="Enter latency in ms"
200- [(ngModel)]="client.config.latency" (ngModelChange)="setClientLatency()"></ion-input>
201- </ion-item>
202- <ion-item lines="none">
203- <ion-input label="Volume (0-100%)" labelPlacement="floating" type="number" placeholder="Enter volume percentage"
204- [(ngModel)]="client.config.volume.percent" (ngModelChange)="setClientVolume()"></ion-input>
205- </ion-item>
206- <ion-item>
207- <ion-range [(ngModel)]="client.config.volume.percent" (ngModelChange)="setClientVolume()">
208-
209- <ion-icon slot="start" name="volume-low"></ion-icon>
210- <ion-icon slot="end" name="volume-high"></ion-icon>
211- </ion-range>
212- </ion-item>
213-
214- <ion-button expand="full" color="primary" (click)="chooseSpeakers()">
186+ <!-- <ion-button expand="full" color="primary" (click)="chooseSpeakers()">
215187 Choose Speakers
216- </ion-button>
188+ </ion-button> -->
217189
218190
219- </ion-list> -->
220191
221192
222193</ ion-content >
0 commit comments