Giter Club home page Giter Club logo

netmd_plusplus's People

Contributors

jo2003 avatar

Watchers

 avatar

netmd_plusplus's Issues

Not work transfer in Panasonic SJ-MR250

in SRC cybercase/netmd-js -

async sessionKeyExchange(hostnonce: Uint8Array) {
if (hostnonce.length !== 8) {
throw new Error('Supplied host nonce length wrong');
}
const query = formatQuery('1800 080046 f0030103 20 ff 000000 %*', hostnonce);
const reply = await this.sendQuery(query);
return scanQuery(reply, '1800 080046 f0030103 20 %? 000000 %#')[0] as Uint8Array; // '20 00' => '20 %?' - Fix for Panasonic SJ-MR270
}

Sony MDS-JB980 does not allow transfer of tracks

I have Sony MDS-JB980 (European model) and connected to MacBook Pro 2019 (macOS Monterey). The NetMD seems to work only partially. With the different apps available now the NetMD device is detected correctly and type shown correctly. The basic functions seem to work, you can play/stop, edit the disc title. Even erase the disc properly.

However as soon you try to send audio (SP mode, 16-bit/44kHz wav) the device shows "CONNECT" and then goes back to "Net MD" in it's display. The different apps we have behave slightly different on the error handing. Sorry for logs from NetMD Wizard, but by looks of it, it is using the netmd++. I have tried with platinum-md and webmd.pro implementations as well and well debug the code more with those what is going on. The golang implementation I have yet to try.

Trying to get to bottom of this, as it seems it almost works.

Anything to understand a bit on the NetMD protocol? I understand the implementations have a bit differences, but they all seem to fail with this particular case, so there is something going on now.

The webmd.pro especially is a bit problem on error handling as it hangs the deck in the "CONNECT" state (doesn't even allow to turn-off the device without pulling power plug). You can get it recovered, but seems it doesn't return gracefully. platinum-md has some re-try system and it re-tries and finally returns gracefully. But I suppose this is just the UI apps failure in using the underlaying netmd libs.

The NetMD Wizard gives follow log which I traced back to somewhere in

if (((ret = secureExchange(0x28, query.get(), ret, &resp, NetMdStatus::NETMD_STATUS_INTERIM)) < 1)
:

2024-02-02 08:33:54.671|INFO|cnetmd.cpp:39|CNetMD::CNetMD(QObject *)|Log File / Stream "/private/var/folders/k7/kbdgjgg90wn6q3zym4mr648c0000gp/T/cd2netmd_transfer_log.tmp" created.
2024-02-02 08:34:16.235|INFO|cnetmd.cpp:132|int CNetMD::getDiscInfo()|getting MD disc / device info ...
2024-02-02 08:34:16.375|INFO|cnetmd.cpp:256|int CNetMD::getDiscInfo()|{
    "device": "Sony MDS-JE780/JB980",
    "disc_flags": "0x10",
    "groups": [
    ],
    "otf_enc": 1,
    "sp_upload": 0,
    "t_free": 4859,
    "t_total": 4859,
    "t_used": 0,
    "title": "TestDisc",
    "toc_manip": 0,
    "tracks": [
    ],
    "trk_count": 0
}
2024-02-02 08:34:16.387|INFO|cnetmd.cpp:522|void CNetMD::procEnded(bool, int)|
2024-02-02 08:34:16|INFO|initDevice():239: Product name: Net MD, serial number:
2024-02-02 08:34:16.387|INFO|mainwindow.cpp:533|void MainWindow::transferFinished(bool, int)|checkBusy: false ret: 0
2024-02-02 08:35:04.183|INFO|cjacktheripper.cpp:117|int CJackTheRipper::extractTrack(int, const QString &, bool)|Extract track 1 to /private/var/folders/k7/kbdgjgg90wn6q3zym4mr648c0000gp/T/cd2netmd.o4Lh65.tmp ...
2024-02-02 08:35:04.183|INFO|mainwindow.cpp:533|void MainWindow::transferFinished(bool, int)|checkBusy: true ret: 0
2024-02-02 08:35:04.228|INFO|mainwindow.cpp:533|void MainWindow::transferFinished(bool, int)|checkBusy: true ret: 0
2024-02-02 08:35:04.229|INFO|cnetmd.cpp:272|int CNetMD::writeTrack(const CNetMD::NetMDCmd &, const QString &, const QString &)|send track: "Aikakoneen taikaa - Mark Vera" file: "/private/var/folders/k7/kbdgjgg90wn6q3zym4mr648c0000gp/T/cd2netmd.o4Lh65.tmp" to "Sony MDS-JE780/JB980"
2024-02-02 08:35:06.600|CRITICAL|cnetmd.cpp:463|virtual void CNetMD::run()|libnetmd action returned with error:  -4
2024-02-02 08:35:06.601|INFO|cnetmd.cpp:522|void CNetMD::procEnded(bool, int)|
2024-02-02 08:35:05|CRITICAL|sendTrack():1013: Error while secureExchange()!
2024-02-02 08:35:05|CRITICAL|sendAudioTrack():1477: sendTrack() failed!
2024-02-02 08:35:06.601|INFO|mainwindow.cpp:533|void MainWindow::transferFinished(bool, int)|checkBusy: false ret: -4

I'm professional programmer, so no problem discussing in low level details. Already thinking about making own MD tool for my own purposes, but trying to figure out what is the issue with these libs now. As fallback solution I probably would make app that just realtime records audio as gapless and modifies the TOC afterwards as TOC editing seems to work. I'm figuring out app for easier mass-MD duplication.

Thanks already. I'll continue with my investigation later.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.