Skip to content

Commit 1940b27

Browse files
committed
global app bypass gray out the ui
1 parent 7f53930 commit 1940b27

8 files changed

Lines changed: 26 additions & 17 deletions

File tree

native/app/Embedded/ui.zip

2.91 KB
Binary file not shown.

ui/src/app/sections/effects/equalizers/equalizers.component.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div fxLayout="row" [style.padding.px]="5" [style.width.%]="100" fxLayoutAlign="space-between center" >
22

33
<div fxFlex="20" fxLayoutGap="10px" fxLayout="row" fxLayoutAlign="start center">
4-
<eqm-toggle class="on-off" [(state)]="enabled" (stateChange)="setEnabled()"></eqm-toggle>
4+
<eqm-toggle [enabled]="app.enabled" class="on-off" [(state)]="enabled" (stateChange)="setEnabled()"></eqm-toggle>
55
<eqm-icon [@FadeInOut] *ngIf="activeEqualizer && activeEqualizer.settings.length" (click)="enabled && openSettings()" eqmTooltip="Settings" eqmTooltipPositionSide="bottom" name="cog" color="#8E8E93" [size]="16"></eqm-icon>
66
</div>
77

@@ -30,7 +30,7 @@
3030
<eqm-loading *ngIf="!loaded"></eqm-loading>
3131
<div [style.width.%]="100" fxLayout="row" *ngIf="loaded">
3232
<eqm-equalizer-presets
33-
[enabled]="enabled"
33+
[enabled]="enabled && app.enabled"
3434
class="presets"
3535
[presets]="presets" [selectedPreset]="selectedPreset"
3636
(presetSelected)="selectPreset($event)"
@@ -41,13 +41,13 @@
4141
></eqm-equalizer-presets>
4242
</div>
4343
<eqm-basic-equalizer *ngIf="loaded && type === 'Basic'" #basicEqualizer
44-
[enabled]="enabled" class="equalizer"
44+
[enabled]="enabled && app.enabled" class="equalizer"
4545
(presetsChange)="presets = $event" (selectedPresetChange)="selectedPreset = $event"
4646
[animationDuration]="animationDuration" [animationFps]="animationFps"
4747
[settingsDialog]="settingsDialog"
4848
></eqm-basic-equalizer>
4949
<eqm-advanced-equalizer *ngIf="loaded && type === 'Advanced'" #advancedEqualizer
50-
[enabled]="enabled" class="equalizer"
50+
[enabled]="enabled && app.enabled" class="equalizer"
5151
(presetsChange)="presets = $event" (selectedPresetChange)="selectedPreset = $event"
5252
[animationDuration]="animationDuration" [animationFps]="animationFps"
5353
[settingsDialog]="settingsDialog"

ui/src/app/sections/effects/equalizers/equalizers.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { EqualizerPreset } from './presets/equalizer-presets.component'
1010
import { UIService } from '../../../services/ui.service'
1111
import { EffectEnabledChangedEventCallback } from '../effect.service'
1212
import { UtilitiesService } from '../../../services/utilities.service'
13+
import { ApplicationService } from '../../../services/app.service'
1314

1415
@Component({
1516
selector: 'eqm-equalizers',
@@ -51,6 +52,7 @@ export class EqualizersComponent implements OnInit, OnDestroy {
5152
public equalizersService: EqualizersService,
5253
public dialog: MatDialog,
5354
public ui: UIService,
55+
public app: ApplicationService,
5456
private readonly changeRef: ChangeDetectorRef,
5557
private readonly utils: UtilitiesService
5658
) { }
@@ -102,6 +104,7 @@ export class EqualizersComponent implements OnInit, OnDestroy {
102104
}
103105

104106
async setType (type: EqualizerType) {
107+
if (!this.app.enabled) return
105108
await this.equalizersService.setType(type)
106109
this.type = type
107110
await this.utils.delay(this.animationDuration)

ui/src/app/sections/outputs/outputs.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div fxFill class="outputs" fxLayout="row" fxLayoutAlign="space-between center" fxLayoutGap="10px">
22
<!-- <eqm-vent fxFlex="20"></eqm-vent> -->
33
<eqm-icon (click)="select(selected)" name="reset" color="#4f8d71" eqmTooltip="Reset playback" eqmTooltipPositionSide="top"></eqm-icon>
4-
<eqm-dropdown
4+
<eqm-dropdown
55
labelParam="name" noItemsPlaceholder="No Outputs" placeholder="Select Output"
66
[items]="outputs" [(selectedItem)]="selected" (itemSelected)="select($event)"
77
></eqm-dropdown>

ui/src/app/sections/outputs/outputs.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Component, OnInit } from '@angular/core'
2+
import { ApplicationService } from '../../services/app.service'
23
import { OutputsService, Output } from './outputs.service'
34

45
@Component({
@@ -9,7 +10,7 @@ import { OutputsService, Output } from './outputs.service'
910
export class OutputsComponent implements OnInit {
1011
outputs: Output[]
1112
selected: Output
12-
constructor (public service: OutputsService) { }
13+
constructor (public service: OutputsService, public app: ApplicationService) { }
1314

1415
async ngOnInit () {
1516
await this.sync()

ui/src/app/sections/volume/booster-balance/balance/balance.component.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@
33
<ng-template #left>
44
<div fxLayout="column" fxLayoutAlign="center center" fxFlex="52px">
55
<eqm-label>Left</eqm-label>
6-
<eqm-value-screen>{{(balance | mapValue:0:1:100:0 | clipValue:0:100 | fixFloat:0:false)}}%</eqm-value-screen>
6+
<eqm-value-screen [enabled]="app.enabled">{{(balance | mapValue:0:1:100:0 | clipValue:0:100 | fixFloat:0:false)}}%</eqm-value-screen>
77
</div>
88
</ng-template>
99

1010
<ng-template #right>
1111
<div fxLayout="column" fxLayoutAlign="center center" fxFlex="52px">
1212
<eqm-label>Right</eqm-label>
13-
<eqm-value-screen>{{(balance | mapValue:0:-1:100:0 | clipValue:0:100 | fixFloat:0:false)}}%</eqm-value-screen>
13+
<eqm-value-screen [enabled]="app.enabled">{{(balance | mapValue:0:-1:100:0 | clipValue:0:100 | fixFloat:0:false)}}%</eqm-value-screen>
1414
</div>
1515
</ng-template>
1616

1717
<!-- Knob controls -->
1818
<div *ngIf="!replaceKnobsWithSliders" fxLayout="row" fxLayoutAlign="center start"
1919
[class]="'controls' + (hide ? ' hide' : '')">
2020
<ng-container *ngTemplateOutlet="left"></ng-container>
21-
<eqm-knob size="small" [min]="-1" [max]="1" [(value)]="balance" (userChangedValue)="setBalance($event)"
21+
<eqm-knob [enabled]="app.enabled" size="small" [min]="-1" [max]="1" [(value)]="balance" (userChangedValue)="setBalance($event)"
2222
[stickToMiddle]="true" (stickedToMiddle)="performHapticFeedback($event)" [animationDuration]="animationDuration"
2323
[animationFps]="animationFps"></eqm-knob>
2424
<ng-container *ngTemplateOutlet="right"></ng-container>
@@ -28,7 +28,7 @@
2828
<div *ngIf="replaceKnobsWithSliders" fxLayout="row" fxLayoutAlign="center center" fxLayoutGap="10px" class="slider-control">
2929
<ng-container *ngTemplateOutlet="left"></ng-container>
3030
<div fxFlex="60%">
31-
<eqm-flat-slider [min]="-1" [max]="1" [(value)]="balance" (userChangedValue)="setBalance($event)"
31+
<eqm-flat-slider [enabled]="app.enabled" [min]="-1" [max]="1" [(value)]="balance" (userChangedValue)="setBalance($event)"
3232
[doubleClickToAnimateToMiddle]="true" [animationDuration]="animationDuration" [animationFps]="animationFps"
3333
[stickToMiddle]="true" (stickedToMiddle)="performHapticFeedback($event)"></eqm-flat-slider>
3434
</div>

ui/src/app/sections/volume/booster-balance/booster/booster.component.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,28 @@
33
<ng-template #volume>
44
<div fxLayout="column" fxLayoutAlign="center center" fxFlex="52px">
55
<eqm-label>Volume</eqm-label>
6-
<eqm-value-screen>{{(gain | mapValue:0:1:0:100 | clipValue:0:100 | fixFloat:0:false)}}%</eqm-value-screen>
6+
<eqm-value-screen [enabled]="app.enabled">{{(gain | mapValue:0:1:0:100 | clipValue:0:100 | fixFloat:0:false)}}%</eqm-value-screen>
77
</div>
88
</ng-template>
99

1010
<ng-template #boost>
1111
<div style="position: relative;" fxLayout="column" fxLayoutAlign="center center" fxFlex="52px">
1212
<eqm-checkbox
13-
[enabled]="boostEnabledAvailable"
13+
[enabled]="boostEnabledAvailable && app.enabled"
1414
[eqmTooltip]="boostEnabledAvailable ? (boostEnabled ? 'Disable Boost' : 'Enable Boost') : ('Enable/Disable Boost\nOnly available after v1.0.0')"
1515
style="position: absolute; top: 5px; right: -10px;"
1616
[checked]="boostEnabled" (checkedChanged)="setBoostEnabled($event)"
1717
></eqm-checkbox>
1818
<eqm-label>Boost</eqm-label>
19-
<eqm-value-screen [enabled]="boostEnabled">{{(gain | mapValue:1:2:0:100 | clipValue:0:100 | fixFloat:0:false)}}%</eqm-value-screen>
19+
<eqm-value-screen [enabled]="boostEnabled && app.enabled">{{(gain | mapValue:1:2:0:100 | clipValue:0:100 | fixFloat:0:false)}}%</eqm-value-screen>
2020
</div>
2121
</ng-template>
2222

2323
<!-- Knob controls -->
2424
<div *ngIf="!replaceKnobsWithSliders" fxLayout="row" fxLayoutAlign="center start"
2525
class="knob-control">
2626
<ng-container *ngTemplateOutlet="volume"></ng-container>
27-
<eqm-knob [min]="0" [max]="boostEnabled ? 2 : 1" [(value)]="gain" (userChangedValue)="setGain($event.value)" [stickToMiddle]="boostEnabled"
27+
<eqm-knob [enabled]="app.enabled" [min]="0" [max]="boostEnabled ? 2 : 1" [(value)]="gain" (userChangedValue)="setGain($event.value)" [stickToMiddle]="boostEnabled"
2828
(stickedToMiddle)="performHapticFeedback($event)" size="small" [doubleClickToAnimateToMiddle]="false">
2929
</eqm-knob>
3030
<ng-container *ngTemplateOutlet="boost"></ng-container>
@@ -35,7 +35,7 @@
3535
<div *ngIf="replaceKnobsWithSliders" fxLayout="row" fxLayoutAlign="center center" fxLayoutGap="10px" class="slider-control">
3636
<ng-container *ngTemplateOutlet="volume"></ng-container>
3737
<div fxFlex="60%">
38-
<eqm-flat-slider [min]="0" [max]="boostEnabled ? 2 : 1" [(value)]="gain" (userChangedValue)="setGain($event.value)"
38+
<eqm-flat-slider [min]="0" [enabled]="app.enabled" [max]="boostEnabled ? 2 : 1" [(value)]="gain" (userChangedValue)="setGain($event.value)"
3939
[doubleClickToAnimateToMiddle]="false" [showMiddleNotch]="boostEnabled"
4040
[stickToMiddle]="boostEnabled" (stickedToMiddle)="performHapticFeedback($event)"></eqm-flat-slider>
4141
</div>

ui/src/app/services/app.service.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export interface Info {
1616
providedIn: 'root'
1717
})
1818
export class ApplicationService extends DataService {
19+
enabled: boolean
1920
ref?: AppComponent
2021
info?: Info
2122
private _uiScale = 1
@@ -45,9 +46,11 @@ export class ApplicationService extends DataService {
4546
}
4647

4748
async sync () {
48-
const [ uiSettings ] = await Promise.all([
49-
this.ui.getSettings()
49+
const [ uiSettings, enabled ] = await Promise.all([
50+
this.ui.getSettings(),
51+
this.getEnabled()
5052
])
53+
this.enabled = enabled
5154
this.uiScale = uiSettings.uiScale ?? 1
5255
}
5356

@@ -91,10 +94,12 @@ export class ApplicationService extends DataService {
9194

9295
async getEnabled (): Promise<boolean> {
9396
const { enabled } = await this.request({ method: 'GET', endpoint: '/enabled' })
97+
this.enabled = enabled
9498
return enabled
9599
}
96100

97101
setEnabled (enabled: boolean) {
102+
this.enabled = enabled
98103
return this.request({ method: 'POST', endpoint: '/enabled', data: { enabled } })
99104
}
100105
}

0 commit comments

Comments
 (0)