Replies: 1 comment 2 replies
|
Hi! First of all, thanks for the nice words, I'm really glad this project clicked with you! Secondly - I immediately got excited that you're interested in hardware-sync! I don't use an MTP device (although I do have an old Android phone lying around), but I occasionally copy my Musicat library onto my 5.5g iPod running Rockbox, so a sync feature would be really neat, and it's something that I had in the back of my mind as well. Let's definitely start small, because user-made "extensions" (a la Foobar components) will be hard to achieve properly given the architecture and nature of the app, pre-1.0 development and all. It's an interesting space though (and I briefly looked at how to run external libraries at runtime with abi_stable, so it's definitely possible). In the meantime, if we focus on an abstract architecture for device-sync that allows for implementing various device protocols, that's already a good start. For example - having a pub struct DeviceManager {
pub devices: Vec<Box<dyn SyncableDevice>>,
}
impl DeviceManager {
pub fn scan_all(&self) -> Vec<Box<dyn SyncableDevice>> {
// 1. Scan for MTP Devices
// 2. Scan for Mass Storage (Rockbox / iPod)
// 3. Add to devices
}
}that holds generic |
Uh oh!
There was an error while loading. Please reload this page.
Hi -- I've been following Musicat for a while, and I wanted to reach out because this project really hits a very specific nerve for me in the best way.
Local-first music libraries and hardware players are something I used to obsess over years ago, and Musicat is the first media player project in a long time that has genuinely felt exciting to me again -- both in terms of the stack and the overall design.
I’ve got a lot of ideas in this space, but I also want to be careful not to show up like I’m trying to impose a whole roadmap on a project that’s clearly very personal and thoughtfully built. A couple of the areas I keep coming back to are device sync for hardware players and richer integration points for things like Last.fm / scrobbling.
Part of why I'm reaching out is that I've also been experimenting on the device side a bit -- including some early work with mtp-rs and a very rough Zune sync-related tech demo, so this isn't just abstract interest on my end.
What I'm really trying to understand is whether you'd have any interest in collaborating on a more plugin-oriented / extensible architecture for Musicat, and, if so, where you'd want to start.
Either way, I'd be happy to start small and work within the direction you already have in mind.
All reactions