ipod-classic-js
ipod-classic-js copied to clipboard
is it possible to run the web app as a program?
I'm working on my iPod project right now. I disassembled an iPod and installed a raspberry pi with GSM support. But I'm currently looking for the best program with Spotify API that I can use. I don't know much about coding myself, more about hardware, so I wanted to ask if it would be possible. best regards
Hey @TechCheckY, neat project! As long as your Raspberry Pi is connected to the internet then it shouldn't be an issue getting the iPod.js interface up and running on it. I've outlined the most important pieces for you to note below. If it sounds like something you're willing to try, I'd be happy to help however I can and answer any questions you might have. Looking forward to seeing what you make!
Signin to Spotify
This might be tricky to get working without a keyboard and mouse since an external webpage is what actually signs you into Spotify. This page does not work well on small screens (see screenshot), nor would it work with clickwheel controls. Once signed in though, everything should be usable via the scroll wheel
Keyboard events
iPod.js's virtual scroll/click events are programmed to also work with physical keyboard events, so if you can get your physical iPod scrollwheel to trigger arrowRight
, arrowLeft
, enter
, esc
, play
, and pause
, next
, and previous
keyboard keys, you can control the entire interface.
Running iPod.js without the virtual "shell"
I can configure iPod.js to only include the "screen" of the iPod and remove the virtual scroll wheel interface, assuming you're still onboard with this project
Current | After removing the "shell" |
---|---|
![]() |
![]() |
Thank you sooo much. I will definitely keep you up to date, I have already ordered many parts and have some already finished, but unfortunately the delivery from aliexpress takes a very long time. Thank you for your help, I'll get back to you when I'm done with the hardware
the only thing i'm not sure how to solve is the bluetooth interface. it's usually not possible to just exit the iPod.js program to go to the linux bluetooth settings, because normally I can't navigate in linux without a mouse and keyboard.
I haven't looked much into this, but some web browsers actually come with support for managing Bluetooth devices. I'll have to try this out to be sure, but if it works like I'd expect, it might be possible to create an interface within iPod.js to control Bluetooth connections:
https://web.dev/bluetooth/
That would be great👌
@TechCheckY what ipod version do you have? This has been a project on my mind for a while as well. And definitely an upgrade to the charging port.
Hello, is it possible to make such an application only instead of Spotify you could download your music from the drive?
Hey @TechCheckY, neat project! As long as your Raspberry Pi is connected to the internet then it shouldn't be an issue getting the iPod.js interface up and running on it. I've outlined the most important pieces for you to note below. If it sounds like something you're willing to try, I'd be happy to help however I can and answer any questions you might have. Looking forward to seeing what you make!
Signin to Spotify
This might be tricky to get working without a keyboard and mouse since an external webpage is what actually signs you into Spotify. This page does not work well on small screens (see screenshot), nor would it work with clickwheel controls. Once signed in though, everything should be usable via the scroll wheel
Keyboard events
iPod.js's virtual scroll/click events are programmed to also work with physical keyboard events, so if you can get your physical iPod scrollwheel to trigger
arrowRight
,arrowLeft
,enter
,esc
,play
, andpause
,next
, andprevious
keyboard keys, you can control the entire interface.Running iPod.js without the virtual "shell"
I can configure iPod.js to only include the "screen" of the iPod and remove the virtual scroll wheel interface, assuming you're still onboard with this project
Current After removing the "shell"
![]()
Hey Tanner! Looking over your project and love the work you've done. Resurrecting this thread here... I'm working on a rPi project to keep the ball rolling where TechCheckY left off. How would you suggest modifying the code to properly remove the "shell?" End goal is to have this run fullscreen, on device.