From 9c532f0f34fad76515a477e79e13929260683e82 Mon Sep 17 00:00:00 2001 From: Darius Date: Tue, 3 Feb 2026 23:00:12 +0100 Subject: [PATCH] improve handling --- src/tidal/service.ts | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/tidal/service.ts b/src/tidal/service.ts index 4da9181..471b4ca 100644 --- a/src/tidal/service.ts +++ b/src/tidal/service.ts @@ -37,7 +37,7 @@ export class TidalService extends BaseService { const response = await this.getClient().get("current"); return this.getSuccessfulResult( - this.decimalToPercentage(response.volume), + response.volume * 100, // * 100 because it's a decimal and we want a percentage ); } catch { const error_message = "error getting volume from tidal"; @@ -47,18 +47,18 @@ export class TidalService extends BaseService { } clamp(value: number): number { - return Math.min(Math.max(value, 0.0), 1.0); + return Math.min(Math.max(value, 0), 100); } async setVolume(argument: string): Promise> { - const value = this.percentageToDecimal(parseInt(argument, 10)); + const value = parseInt(argument, 10); // relative const adjustMatch = argument.match(/^([+-])/); if (adjustMatch) { const req = await this.getVolume(); if (req.successful) { const volume = req.result as number; - const wantedVolume = this.percentageToDecimal(volume) + value; + const wantedVolume = volume + value; const clampWantedVolume = this.clamp(wantedVolume); return await this.setVolumeToTidal(clampWantedVolume); } @@ -80,21 +80,16 @@ export class TidalService extends BaseService { volume: number, ): Promise> { try { - await this.getClient().put(`player/volume?volume=${volume}`, {}); + await this.getClient().put( + `player/volume?volume=${volume / 100}`, // / 100 because it's a decimal and we want a percentage + {}, + ); - return this.getSuccessfulResult(this.decimalToPercentage(volume)); + return this.getSuccessfulResult(volume.toFixed()); } catch { const error_message = "error setting volume from tidal"; logWarning(error_message); return this.getErrorResult(error_message); } } - - decimalToPercentage(decimal: number): number { - return decimal * 100; - } - - percentageToDecimal(percentage: number): number { - return percentage / 100; - } }