Go to file
2023-06-18 15:39:14 +02:00
.github/workflows don't run double builds on PR, just release builds (for pre-releases + testing) 2023-05-13 22:47:36 +02:00
.vscode transitioning to ts 2023-05-01 23:23:56 +02:00
assets Fix Linux Icons 2023-04-26 21:34:17 +01:00
build ci: added theme files to resources 2023-05-08 00:03:05 +02:00
docs fix: user uploaded themes are now stored in the config directory. Missing directories will be created and added docs for theming 2023-05-14 23:48:13 +02:00
src fix: customCSS default value was still a string, causing new users to have settings issues 2023-05-18 17:56:45 +02:00
.drone.yml added drone builds 2023-06-18 15:39:14 +02:00
.editorconfig chore: removed last 'any' types + added declaration for mpris-service's Player class 2023-05-13 22:45:15 +02:00
.eslintrc feat: added first typescript support 2023-05-01 13:44:02 +02:00
.gitignore Merge branch 'master' of github.com:Mastermindzh/tidal-hifi into feature/theming 2023-05-14 23:49:25 +02:00
.nvmrc chore: updating deps 2023-04-22 16:56:23 +02:00
.stylelintrc.json replaced sass-lint with style-lint 2023-05-01 13:43:07 +02:00
CHANGELOG.md added drone builds 2023-06-18 15:39:14 +02:00
LICENSE did some more work. Mainly worked on code cleanliness and hotkey support (https://defkey.com/tidal-desktop-shortcuts) 2019-10-20 22:47:01 +02:00
package-lock.json Merge branch 'feature/typescript' of github.com:Mastermindzh/tidal-hifi into feature/theming 2023-05-07 23:47:21 +02:00
package.json added styling on theme selector 2023-05-09 23:28:45 +02:00
README.md added drone builds 2023-06-18 15:39:14 +02:00
stale.yml Create stale.yml 2020-08-16 16:30:51 +02:00
tsconfig.json chore: removed last 'any' types + added declaration for mpris-service's Player class 2023-05-13 22:45:15 +02:00

Tidal-hifi

GitHub release github builds Build Status Discord logo

The web version of listen.tidal.com running in electron with hifi support thanks to widevine.

tidal-hifi preview

Table of Contents

Features

  • HiFi playback
  • Notifications
  • Custom theming
  • Custom hotkeys (source)
  • API for status and playback
  • Disabled audio & visual ads, unlocked lyrics, suggested track, track info, and unlimited skips thanks to uBlockOrigin custom filters (source)
  • Custom integrations
  • Settings feature to disable certain functionality. (ctrl+= or ctrl+0)
  • AlbumArt in integrations (best-effort)

Contributions

To contribute you can use the standard GitHub features (issues, prs, etc) or join the discord server to talk with like-minded individuals.

Why did I create tidal-hifi?

I moved from Spotify over to Tidal and found Linux support to be lacking.

When I started this project there weren't any Linux apps that offered Tidal's "hifi" options nor any scripts to control it.

Why not extend existing projects?

Whilst there are a handful of projects attempting to run Tidal on Electron they are all unappealing to me because of various reasons:

  • Lack of maintainers/developers. (no hotfixes, no issues being handled etc)
  • Most are simple web wrappers, not my cup of tea.
  • Some are DE oriented. I want this to work on WM's too.
  • None have widevine working at the moment

Sometimes it's just easier to start over, cover my own needs and then making it available to the public :)

Installation

Dependencies

Note that you need a notification library such as libnotify or dunst for the software to work properly.

Using releases

Various packaged versions of the software are available on the releases tab.

Snap

To install with snap you need to download the pre-packaged snap-package from this repository, found under releases:

  1. Download

    wget <URI> #for instance: https://github.com/Mastermindzh/tidal-hifi/releases/download/1.0/tidal-hifi_1.0.0_amd64.snap
    
  2. Install

    snap install --dangerous <path> #for instance: tidal-hifi_1.0.0_amd64.snap
    

Arch Linux

Arch Linux users can use the AUR to install tidal-hifi:

trizen tidal-hifi-bin

Flatpak

To install via Flatpak run the following command:

flatpak install flathub com.mastermindzh.tidal-hifi

Nix

To install with Nix run the following command:

nix-env -iA nixpkgs.tidal-hifi

Using source

To install and work with the code on this project follow these steps:

Integrations

Tidal-hifi comes with several integrations out of the box. You can find these in the settings menu (ctrl + = by default) under the "integrations" tab.

integrations menu, showing a list of integrations

It currently includes:

  • MPRIS - MPRIS media player controls/status
  • Discord - Shows what you're listening to on Discord.

Not included:

  • i3 blocks config - My dotfiles where I use this app to fetch currently playing music (direct commit)

Known bugs

last.fm doesn't work out of the box. Use rescrobbler as a workaround

The last.fm login doesn't work, as is evident from the following issue: Last.fm login doesn't work. However, in that same issue you can read about a workaround using rescrobbler. For now that will be the default workaround.

Special thanks to

  • Castlabs For maintaining Electron with Widevine CDM installation, Verified Media Path (VMP), and persistent licenses (StorageID)

Donations

You can find my Github sponsorship page at: https://github.com/sponsors/Mastermindzh

Images

Settings window

settings window

User setups

Some of our users are kind enough to share their usage pictures. If you want to see them or possibly even add one please do so in the following issue: #3 - image thread.