Author Topic: iPod & iPhone Driver Plugin 2.0  (Read 17841 times)

BoringName

  • Full Member
  • ***
  • Posts: 201
Sorry I don't know anything about the portable version. I assume it just keeps it's settings files in it's own folder instead of the "C:\Users\<username>\AppData\Roaming\MusicBee"

Bjork77

  • Newbie
  • *
  • Posts: 19
So still no dice on the ipod, but i've noticed something strange this time around when I was pluggin it in. everytime I plug it in, it re-enables the "enable disk use" button.

BoringName

  • Full Member
  • ***
  • Posts: 201
Make sure manually manage music is unchecked as well.

Bjork77

  • Newbie
  • *
  • Posts: 19
Okay, you're not going to believe this, but after a few more hours of fiddling around with these iPods I've happened across what could only be described as a miracle. I had basically given up and decided to install rockbox on both devices, and just sync music that way. after I installed the bootloader on the 7th gen, I plugged in the 5th gen and decided to mess with the properties a bit. As I right-clicked on the device, I noticed a new menu option had popped up, "Open as a Portable Device". I clicked it, and opened Musicbee. I noticed the iPod 5th gen was now being read as an iPod! In pure disbelief, I ejected the device and plugged it back in. Still an iPod!
I 'm going to be honest, at this point I really don't know if that made a difference, if the universe decided to give me a win, or what. The 7th gen was still not being recognized as an iPod(up to this point) so I unplugged that one and started loading some playlists onto the 5th gen. I've mentioned before, but the 5th gen has a better dac, and more storage, so I loaded a large majority of my lossless playlists onto the device, and used the playlist converter that someone here on the forums had made to get the playlists to be recognized in rockbox. Something I think is important to mention, The iPod was booted into the normal apple os. When I unplugged it, all my music, playlists, etc. were there, and when I booted into rockbox, the same thing. all my music, playlists, etc. were there as well. I use Rockscrobbler, which imports the logs that rockbox makes when playing music, so all my playcounts and such get transferred.

Now, moving onto the more exciting part. To my knowledge, he biggest downfall of using iPods on windows is the fact that the libraries will be identical when syncing with Musicbee. another "miracle" happened with the 7th gen ipod, when I plugged up the device into my PC again, i went back to Musicbee, and noticed it was being read as an iPod as well! with both devices connected, they show up in iTunes as separate iPods with the correct names, and are case-sensitive as well. Last thing I decided to take a look at was iTunes. I opened it up to change the name of the iPod 7th gen, and noticed that for some reason, the "enable disk use" option was still off this time. Going back to Musicbee, I Decided to try the on the fly conversion for the 7th gen, since it has less storage.

it worked perfectly! I don't know if any of this information will help you; what this all has shown be is that these devices are so particular it makes it difficult to pinpoint what the exact solutions are to certain problems. But you already knew that. Thank you again(so much) for helping me over the last few weeks. I couldn't have gotten this working without you. If you have any questions, or want me to be more specific about this mountain of text, lemme know.

https://imgur.com/a/iyblRKR Here are some pictures to show i'm not crazy.
Last Edit: June 25, 2022, 07:14:47 PM by Bjork77



hiccup

  • Sr. Member
  • ****
  • Posts: 7787
Too long? if so, I'm sorry
Length by itself shouldn't be a problem.
Not using the enter key and paragraphs to try and make things readable is.

It may be just me, but I did not even attempt to read what you wrote when I saw the wall of text attacking me ;-)

Bjork77

  • Newbie
  • *
  • Posts: 19

BoringName

  • Full Member
  • ***
  • Posts: 201
As I right-clicked on the device, I noticed a new menu option had popped up, "Open as a Portable Device". I clicked it, and opened Musicbee. I noticed the iPod 5th gen was now being read as an iPod! In pure disbelief, I ejected the device and plugged it back in. Still an iPod!

Was this "Open as a Portable Device" an option when you right clicked it in Windows? That's unreal if that's all it was.

Quote
To my knowledge, he biggest downfall of using iPods on windows is the fact that the libraries will be identical when syncing with Musicbee.

This is technically true with how the plugin is setup. But you could just click the work offline button and this will sync iTunes with whatever settings you have in Musicbee, then you can close MusicBee, open iTunes and sync the devices manually in iTunes. Just remember anything you change in iTunes will not get synced back to MB.
eg)
In MusicBee just setup 2 playlists. On for the 5th Gen and one for the 7th Gen
Run the plugin and click work offline. Tick the 2 playlists and sync them to iTunes.
Close MusicBee, this will auto close iTunes as well, just re-open iTunes.
Plugin your 5th gen and change the settings in iTunes so only the 5th gen playlist syncs to it. Let it sync.
Plugin your 7th gen and change the settings in iTunes so only the 7th gen playlist syncs to it. Let it sync.

The big question is, does the auto conversion work yet?

Bjork77

  • Newbie
  • *
  • Posts: 19
As I right-clicked on the device, I noticed a new menu option had popped up, "Open as a Portable Device". I clicked it, and opened Musicbee. I noticed the iPod 5th gen was now being read as an iPod! In pure disbelief, I ejected the device and plugged it back in. Still an iPod!

Was this "Open as a Portable Device" an option when you right clicked it in Windows? That's unreal if that's all it was.

Quote
To my knowledge, he biggest downfall of using iPods on windows is the fact that the libraries will be identical when syncing with Musicbee.

This is technically true with how the plugin is setup. But you could just click the work offline button and this will sync iTunes with whatever settings you have in Musicbee, then you can close MusicBee, open iTunes and sync the devices manually in iTunes. Just remember anything you change in iTunes will not get synced back to MB.
eg)
In MusicBee just setup 2 playlists. On for the 5th Gen and one for the 7th Gen
Run the plugin and click work offline. Tick the 2 playlists and sync them to iTunes.
Close MusicBee, this will auto close iTunes as well, just re-open iTunes.
Plugin your 5th gen and change the settings in iTunes so only the 5th gen playlist syncs to it. Let it sync.
Plugin your 7th gen and change the settings in iTunes so only the 7th gen playlist syncs to it. Let it sync.

The big question is, does the auto conversion work yet?


It was, but to my knowledge it wasn't there before.  As far as the plugin is concerned, I haven't messed with it since the iPods started recognizing in Musicbee. As of now my 7th gen has the majority of my library, in a compressed format. My 5th Gen iPod has my library in an uncompressed format, with a different combination of playlists on each one.

I'll be honest, I'm a little worried to mess with anything else at this point; if Musicbee can convert on the fly and sync my library unhindered, to multiple devices, maybe I should just let things be how they are.

boroda

  • Sr. Member
  • ****
  • Posts: 4595
@BoringName
does your plugin work on mb 3.5.8211 (and probably all later mb versions)? i see empty track list on clicking 'preview'. the same for my version of this plugin and for my plugin 'sync links' (which also uses virtual device mb api).

BoringName

  • Full Member
  • ***
  • Posts: 201
@BoringName
does your plugin work on mb 3.5.8211 (and probably all later mb versions)? i see empty track list on clicking 'preview'. the same for my version of this plugin and for my plugin 'sync links' (which also uses virtual device mb api).

I'm on 3.5.8205 and the preview comes up blank, I'm not sure it worked before I played around with this plugin, I forgot about it because I always just tested the synchronization.

The synchronize works just fine as long as you have the correct version of iTunes. 12.5.3.16 is the latest version that works properly and I know anything between version 10 and that one work ok. Anything after 12.5.3.16 is either incredibly slow adding songs or has a bug in the iTunes API that cause it to lock up intermittently when tracks are deleted.

I don't think the preview being blank would be anything to do with the plugins. That would be all handled on MB's side.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34312
regarding the file conversions not working, try using the latest patch version
https://getmusicbee.com/patches/MusicBee35_Patched.zip
unzip and replace the existing musicbee application files

i will probably hide/ disable the Preview button as its currently not supported for plugins

BoringName

  • Full Member
  • ***
  • Posts: 201
I've just uploaded a new version.

I've started using visual studio (previously used notepad++) and it prompted to upgrade the target 4.8 framework which I did. It works fine for me on windows 10. I don't know if it will cause issues for anyone else.

I've made small change handling converted files (thanks Boroda) that might make it a bit quicker. Probably not noticeable unless you have a lot of converted files.
Added a progress counter when updating play counts. It's a bit choppy but at least you can see it's doing something.
Fixed a bug when something is in iTunes but not in MB that was causing an error.

I also found that being logged into your iTunes account in iTunes when doing a sync is a bad idea. Just don't do it.

DavidW

  • Newbie
  • *
  • Posts: 7
Trying to get MB to sync with my iPhone
Installed https://www.getmusicbee.com/addons/plugins/463/ipod-amp-iphone-driver-2-0/
Enabled it, but when I restart MB, I get the following on restart

16/09/2022 11:16:39 AM - 10.0.22000.0 - 3.4.8033.18564D - System.NullReferenceException: Object reference not set to an instance of an object.
   at MusicBeePlugin.ITunes.Initialise() in D:\Coding Projects\iPod & iPhone Driver_2014-06-05\iPodAndIPhoneDriver.cs:line 774
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

I have iTunes installed (have been using it to sync for years, but having trouble getting it to add new songs on Windows 11)
The file Interop.iTunesLib.dll is in the plugins folder (not under Program Files, but in C:\Users\...\AppData\Roaming\MusicBee\Plugins)