gavinbenda / platinum-md

Minidisc NetMD Conversion and Upload
MIT License
230 stars 38 forks source link

macOS: release 1.2.0 and 1.2.1 won't connect to device #158

Open svintuss opened 2 years ago

svintuss commented 2 years ago

Hi.

I've tried to use release versions 1.2.0 and 1.2.1 on macOS Monterey 12.4 on an Apple Silicon Mac. Out of the box Platinum-MD won't connect to MDS-NT1, I get an infinite "Negotiating with device" dialog.

That was fixed after I recompiled netmdcli from your other repo https://github.com/gavinbenda/linux-minidisc and replaced netmdicli executable in Contents/Resources/bin folder. After that even the name of MDS-NT1 device was displayed correctly and netmdcli became an Apple-silicon app.

I think that files in resources/mac/bin/ need updating.

CraigsBar commented 1 year ago

Hi.

I've tried to use release versions 1.2.0 and 1.2.1 on macOS Monterey 12.4 on an Apple Silicon Mac. Out of the box Platinum-MD won't connect to MDS-NT1, I get an infinite "Negotiating with device" dialog.

That was fixed after I recompiled netmdcli from your other repo https://github.com/gavinbenda/linux-minidisc and replaced netmdicli executable in Contents/Resources/bin folder. After that even the name of MDS-NT1 device was displayed correctly and netmdcli became an Apple-silicon app.

I think that files in resources/mac/bin/ need updating.

Hi svintuss, can you provide the recompiled executable? I also have an Apple Silicon Mac and an MDS-NT1 :)

thanks Craig

gavinbenda commented 1 year ago

I've just put together an M1 release for testing - https://github.com/gavinbenda/platinum-md/releases/download/v1.2.1/platinum-md-1.2.1-m1.dmg

Let me know if any issues - it seemed to work on mine, after many hurdles to get there.

CraigsBar commented 1 year ago

I've just put together an M1 release for testing - https://github.com/gavinbenda/platinum-md/releases/download/v1.2.1/platinum-md-1.2.1-m1.dmg

Let me know if any issues - it seemed to work on mine, after many hurdles to get there.

No luck here, Still the same for me :(

svintuss commented 1 year ago

Hi svintuss, can you provide the recompiled executable? I also have an Apple Silicon Mac and an MDS-NT1 :)

Hi @CraigsBar . Try to put these in /Applications/platinum-md.app/Contents/Resources/bin netmd_M1.zip

@gavinbenda sorry, have no access to my NetMD devices for another month, maybe more, can't test your build.

CraigsBar commented 1 year ago

Hi svintuss, can you provide the recompiled executable? I also have an Apple Silicon Mac and an MDS-NT1 :)

Hi @CraigsBar . Try to put these in /Applications/platinum-md.app/Contents/Resources/bin netmd_M1.zip

@gavinbenda sorry, have no access to my NetMD devices for another month, maybe more, can't test your build.

Nope, that's not helped either :'(

OK this is weird. I rebooted the Mac Mini M1, ANd now it works. Go figure!

randymaugans commented 1 year ago

Question: I also am running an M1 Mac mini. I install the .DMG file. Got error message:

IMPORTANT: You do not have all of the required libraries installed. I clicked to install libraries and get message in terminal:

brew install --force pkg-config qt5 mad libid3tag libtag glib libusb libusb-compat libgcrypt ffmpeg json-c rXXXXXX@xxxx-Mac-mini ~ % brew install --force pkg-config qt5 mad libid3tag libtag glib libusb libusb-compat libgcrypt ffmpeg json-c zsh: command not found: brew What do I need to install and where do I find the files? Previously ran PMD on 2013 MacBook Pro, so not a stranger to installing dependencies via terminal.

gavinbenda commented 1 year ago

@randymaugans can you try installing brew first: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Then try re-run: brew install --force pkg-config qt5 mad libid3tag libtag glib libusb libusb-compat libgcrypt ffmpeg json-c

d-Pixie commented 1 year ago

I just tried this with my two MZ-RH1 devices, two different Macs, three different OS versions (I upgraded my M1 to the latest version of OSX while testing on the older Mac) and the three latest versions of Platinum-MD.

I can not get it to connect to a player in HiMD mode no matter what I do. I tried replacing the files as @svintuss suggested and rebooted - no dice.

It's stuck in the reboot loop and the log only shows that the response did not return valid JSON. I could do more debugging if I edit the JS files locally...

Do you need any active help figuring this out @gavinbenda? I'm happy to help and work as a developer so ... 🙂

[EDIT] I forgot to mention that I can make it work in normal MD mode. Setting the players mode to MD and reformatting the disk makes that work at least.

[EDIT2] Also worth mentioning that I tried both 1GB and normal 80min MDs, device formatted to the proper format ofc.

akolov commented 1 year ago

This might be caused by a library version mismatch. Here's output from himdcli tool in the /Applications/platinum-md.app/Contents/Resources/bin:

➜  bin ./himdcli
dyld[11106]: Library not loaded: /opt/homebrew/opt/libid3tag/lib/libid3tag.0.16.1.dylib
  Referenced from: <270872B3-18E1-3059-8B1E-B6D4B71C641A> /Applications/platinum-md.app/Contents/Resources/bin/himdcli
  Reason: tried: '/opt/homebrew/opt/libid3tag/lib/libid3tag.0.16.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/libid3tag/lib/libid3tag.0.16.1.dylib' (no such file), '/opt/homebrew/opt/libid3tag/lib/libid3tag.0.16.1.dylib' (no such file), '/usr/local/lib/libid3tag.0.16.1.dylib' (no such file), '/usr/lib/libid3tag.0.16.1.dylib' (no such file, not in dyld cache), '/opt/homebrew/Cellar/libid3tag/0.16.2/lib/libid3tag.0.16.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/libid3tag/0.16.2/lib/libid3tag.0.16.1.dylib' (no such file), '/opt/homebrew/Cellar/libid3tag/0.16.2/lib/libid3tag.0.16.1.dylib' (no such file), '/usr/local/lib/libid3tag.0.16.1.dylib' (no such file), '/usr/lib/libid3tag.0.16.1.dylib' (no such file, not in dyld cache)

libid3dtag is installed, but version 0.16.2 instead of 0.16.1 that himdcli is expecting:

➜  bin brew info libid3tag
==> libid3tag: stable 0.16.2 (bottled)
ID3 tag manipulation library
https://www.underbit.com/products/mad/
/opt/homebrew/Cellar/libid3tag/0.16.2 (15 files, 143.3KB) *
  Poured from bottle on 2022-11-08 at 12:41:30
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/libid3tag.rb
License: GPL-2.0-only
==> Dependencies
Build: cmake
==> Analytics
install: 839 (30 days), 2,860 (90 days), 12,314 (365 days)
install-on-request: 156 (30 days), 430 (90 days), 1,930 (365 days)
build-error: 0 (30 days)

Indeed, after building https://github.com/gavinbenda/linux-minidisc and replacing the himdcli binary, there are no segfaults and app stops being stuck in forever loading loop.

Another problem appears though: unable to select HiMD Path. Regardless of what folder I try to select, it always defaults to my Downloads folder. However downloading non-hotfix version and replacing binaries allows selecting HiMD folder now and uploading HiMD finally works with my MZ-RH1!

melduforx commented 1 year ago

I am stuck in the connecting loop. I've tried replacing the binaries with those provided above and also using the 1.2.1 M1 build (I've got a 2021 MBP M1 Mac running OS 13.0.1 connecting to an MDS-MT1).

I'm able to use the web version just fine. It'd be nice to have a local version, though.

20SangHun00 commented 1 year ago

Hey guys! Maybe my comment is not posted in the correct thread. But, in case you are facing issues with inability to connect the NetMD player to your mac, try using a USB Type-A to USB Type-C adapter, instead of those multiport adapters. I was facing issues with the device disconnecting and failing to reconnect after transfering 3-4 tracks, and after using a simple USB Type-A to USB Type-C adapter everything worked like a charm. Truth to be told, my machine is a 2017 Macbook Pro, that's why I've written that the comment may be inappropriate, at the start of the text.

If anyone is interested here's the whole set-up I was using:

aldras commented 1 year ago

Please see what I wrote here in this thread. Rebuilding /Applications/platinum-md.app/Contents/Resources/bin/netmdcli might solve the issue as this has to do with the detection. https://github.com/gavinbenda/platinum-md/issues/142