code to connect + communicate with a Spotify Car Thing

Overview

spotify_carthing_bt

A grab-bag of spotify car thing related hacks I'm working on.

deskthing-rs

A Rust port of https://github.com/relative/deskthing, which enables connecting the car thing directly to a PC, and interfacing with the spotify client via a custom spicetify extension.

At the time of writing, there is no prebuilt copy of the custom deskthing spicetify extension, so you'll need to install node and manually build + install the spicetify_ext extension.

Building the Rust code should be as easy as intalling Rust, cloning the repo, and running:

cargo run

Currently windows only, but it shouldn't be too hard to get it working on linux by using a lib like bluer.

Contributions are welcome and appreciated!

future projects

Connecting the stock firmware to host-side spotify is cool, sure, I'm far more excited about the possibility of writing a custom carthing daemon + gui app to do more exotic stuff with the hardware.

Expect to see some more code in this repo soon...

You might also like...
egui port to Car Thing (and maybe an alternative Car Thing UI?)
egui port to Car Thing (and maybe an alternative Car Thing UI?)

tt This project contains a port of egui to the Spotify Car Thing although in the future I also plan for it to contain a custom Car Thing UI. Technical

VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.
VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.

VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.

Simple comparison app for iRacing car setups.
Simple comparison app for iRacing car setups.

CarTunes Simple comparison app for iRacing car setups. About Export a setup in the iRacing garage and CarTunes will let you compare it with other setu

Dataflow system for building self-driving car and robotics applications.

ERDOS ERDOS is a platform for developing self-driving cars and robotics applications. Getting started The easiest way to get ERDOS running is to use o

3d car simulation in rust
3d car simulation in rust

3d car simulation in rust This project is developed with intention to learn: programming on rust, computer graphics, physics simulation, geometric alg

Official moo translator to communicate with cows ๐Ÿฎ
Official moo translator to communicate with cows ๐Ÿฎ

Cow translator ๐Ÿฎ Official moo translator to communicate with cows ๐Ÿฎ Installation ๐Ÿ“ฆ Arch Cow translator is available in the AUR yay -S cow-translato

Communicate with OpenAi's GPT3.5 (ChatGPT) API.

ChatGPT Rust Communicate with OpenAi's GPT3.5 (ChatGPT) API. Usage use chat_gpt_rs::prelude::*; #[tokio::main] async fn main() { let token = Toke

A mobile application platform for tertiary students to communicate, collaborate and share ideas with each other

Qreeket (pronounced "cricket") A mobile application platform for tertiary students to communicate, collaborate and share ideas with each other. As the

[DEPRECATED] password manager thing
[DEPRECATED] password manager thing

NOTE: this is pretty much abandoned, I recommend Bitwarden now. There is an export command in the CLI that produces CSV suitable for import into Bitwa

This is the weirdest thing I've ever seen

strange-config-format I got nerdsniped on Twitter. Here's the fastest way to get a solution I could manage. It took about 90 minutes. Usage $ cargo ru

This crate does only one thing: format a Unix timestamp.

time-format This crate does only one thing: format a Unix timestamp. Splitting a timestamp into its components The components_utc() function returns t

A node based audio effects thing
A node based audio effects thing

DSP Stuff A node based audio effects thing. Usage Run with cargo run --release --features gpl_effects (customize the feature flags as you wish) If you

A little toy tracker/DAW/thing.
A little toy tracker/DAW/thing.

track A little toy tracker/DAW/thing. Can currently play some oldschool 4-channel Amiga protracker modules. Will likely become a basis for future audi

Do the RWKV thing, but now in Rust with GGML

RWKV, but in Rust with ggml A project which reimplementation llama.cpp in rustformers/llm style. Current situation Performance issue: current version

A copy of ziad87 "very stupid thing" (rip). Now in v2: Electric Boogaloo

IPv6-Place-v2 A re-implementation of ziad87's awesome "Place: IPv6" site. Written in Rust with Axum using Server-Sent-Events for the fun instead of WS

Develop an async runtime like thing in Rust for educational purpose.

How-not-to-async-rs Develop an async runtime like thing in Rust for educational purpose. What this is not This is not going to be a blog post explaini

rust_arango enables you to connect with ArangoDB server, access to database, execute AQL query, manage ArangoDB in an easy and intuitive way, both async and plain synchronous code with any HTTP ecosystem you love.

rust_arango enables you to connect with ArangoDB server, access to database, execute AQL query, manage ArangoDB in an easy and intuitive way, both async and plain synchronous code with any HTTP ecosystem you love.

This code features a viper-client, which can connect to a viper-server, a custom interface made for Comelit devices.

Viper Client ๐Ÿ‘ท (WIP) This is code for my intercom; specifically for the Comelit Mini Wi-Fi MSFV. This features a ViperClient which can talk to the Co

Spotify for the terminal written in Rust ๐Ÿš€
Spotify for the terminal written in Rust ๐Ÿš€

Spotify TUI A Spotify client for the terminal written in Rust. The terminal in the demo above is using the Rigel theme. Spotify TUI Installation Homeb

Comments
  • Getting connected with Spotify

    Getting connected with Spotify

    I compiled and installed the extension for spicetify and the rust app seems to connect successfully to the Car Thing but I get a "Not logged in" error on the car thing itself and I'm not sure there is an actual websocket connection to the Spotify extension as I don't know how to verify that, the log doesn't show anything obvious other than the BT connection log.

    Should the extension show up under the Installed tab in the Marketplace menu? In spicetify there is deskthing-spotify-bridge.js under the Extensions folder, ran apply after the build script placed it there.

    opened by timonsku 2
Owner
Daniel Prilik
probably hacking away at some silly side-project ยท rustacean ยท personal acct -- working 9 to 5 @microsoft as @daprilik
Daniel Prilik
A little toy tracker/DAW/thing.

track A little toy tracker/DAW/thing. Can currently play some oldschool 4-channel Amiga protracker modules. Will likely become a basis for future audi

Serge Bazanski 4 Apr 12, 2023
Spotify for the terminal written in Rust ๐Ÿš€

Spotify TUI A Spotify client for the terminal written in Rust. The terminal in the demo above is using the Rigel theme. Spotify TUI Installation Homeb

Alexander Keliris 14.1k Jan 1, 2023
A spotify daemon

Spotifyd An open source Spotify client running as a UNIX daemon. Spotifyd streams music just like the official client, but is more lightweight and sup

null 8.4k Dec 31, 2022
Gtk/Rust native Spotify client for the GNOME desktop.

Gtk/Rust native Spotify client for the GNOME desktop.

Alexandre Trendel 1.7k Jan 1, 2023
๐ŸŽง a self-hosted Spotify โ†’ Discord music bot

Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself. Note: a Spotify Premium account is c

Max Isom 159 Dec 29, 2022
A Spotify downloader written in rust, which does not require a premium account

DownOnSpot A Spotify downloader written in Rust Disclaimer DownOnSpot was not developed for piracy. It is meant to be used in compliance with DMCA, Se

oSumAtrIX 273 Jan 7, 2023
Psst - Fast and multi-platform Spotify client with native GUI

Psst Fast Spotify client with native GUI, without Electron, built in Rust. Very early in development, lacking in features, stability, and general user

Jan Pochyla 7.2k Jan 2, 2023
ncspot is a ncurses Spotify client written in Rust using librespot.

ncspot is a ncurses Spotify client written in Rust using librespot. It is heavily inspired by ncurses MPD clients, such as ncmpc. My motivation was to provide a simple and resource friendly alternative to the official client as well as to support platforms that currently don't have a Spotify client, such as the *BSDs.

Henrik Friedrichsen 3.4k Jan 8, 2023
Effortlessly beautify your Spotify playlists with just a single, enchanting script ๐Ÿ’ซ ๐ŸŽต

harmonia harmonia, effortlessly beautify your Spotify playlists with just a single, enchanting script. ?? ?? HANDLE WITH LOVE: Since harmonia is bloss

Gรผlce 4 Jun 23, 2023
A command line application to organize Spotify playlists.

Sortify A command line application to organize Spotify playlists. Using Sortify, you can choose a playlist as the source playlist, and then have the o

Francisco Cunha 4 Aug 14, 2024