FU Logo
  • Startseite
  • Kontakt
  • Impressum
  • Home
  • Listenauswahl
  • Anleitungen

[linux-minidisc] libnetmd: remember model number of detected netmd device

<-- thread -->
<-- date -->
  • From: Thomas Arp <manner.moe@gmx.de>
  • To: linux-minidisc@lists.fu-berlin.de
  • Date: Thu, 15 Sep 2011 20:38:51 +0200
  • Subject: [linux-minidisc] libnetmd: remember model number of detected netmd device

Hi,
as netmd_get_devname(..) gets device name from the usb descriptor it is "Net MD Walkman" or "Net MD/HiMD" on most devices. To differentiate them (Sony MZ-N710, Sony MZ-RH1, ..) i made a patch to remember the model number from the known_devices list. So we can show it in our application analogous to the himd detection system in qhimdtransfer.

Regards
Thomas
>From 9f6874d046e9b7de37c7159cebd430846a02366c Mon Sep 17 00:00:00 2001
From: Thomas Arp <manner.moe@gmx.de>
Date: Thu, 15 Sep 2011 20:13:37 +0200
Subject: [PATCH 3/3] remember model of detected netmd device from
 known_devices[] to show it in the application,
 analogous to the detection system for himd devices in
 qhimdtransfer

---
 libnetmd/netmd_dev.c |   85 +++++++++++++++++++++++++------------------------
 libnetmd/netmd_dev.h |    2 +
 netmdcli/netmdcli.c  |    1 +
 3 files changed, 46 insertions(+), 42 deletions(-)

diff --git a/libnetmd/netmd_dev.c b/libnetmd/netmd_dev.c
index 0f3f3b0..1a18c7d 100644
--- a/libnetmd/netmd_dev.c
+++ b/libnetmd/netmd_dev.c
@@ -33,48 +33,48 @@ static libusb_context *ctx = NULL;
 /*! list of known vendor/prod id's for NetMD devices */
 static struct netmd_devices const known_devices[] =
 {
-    {0x54c, 0x34}, /* Sony PCLK-XX */
-    {0x54c, 0x36}, /* Sony (unknown model) */
-    {0x54c, 0x75}, /* Sony MZ-N1 */
-    {0x54c, 0x7c}, /* Sony (unknown model) */
-    {0x54c, 0x80}, /* Sony LAM-1 */
-    {0x54c, 0x81}, /* Sony MDS-JE780/JB980 */
-    {0x54c, 0x84}, /* Sony MZ-N505 */
-    {0x54c, 0x85}, /* Sony MZ-S1 */
-    {0x54c, 0x86}, /* Sony MZ-N707 */
-    {0x54c, 0x8e}, /* Sony CMT-C7NT */
-    {0x54c, 0x97}, /* Sony PCGA-MDN1 */
-    {0x54c, 0xad}, /* Sony CMT-L7HD */
-    {0x54c, 0xc6}, /* Sony MZ-N10 */
-    {0x54c, 0xc7}, /* Sony MZ-N910 */
-    {0x54c, 0xc8}, /* Sony MZ-N710/NE810/NF810 */
-    {0x54c, 0xc9}, /* Sony MZ-N510/NF610 */
-    {0x54c, 0xca}, /* Sony MZ-NE410/DN430/NF520 */
-    {0x54c, 0xeb}, /* Sony MZ-NE810/NE910 */
-    {0x54c, 0xe7}, /* Sony CMT-M333NT/M373NT */
-    {0x54c, 0x101}, /* Sony LAM-10 */
-    {0x54c, 0x113}, /* Aiwa AM-NX1 */
-    {0x54c, 0x14c}, /* Aiwa AM-NX9 */
-    {0x54c, 0x17e}, /* Sony MZ-NH1 */
-    {0x54c, 0x180}, /* Sony MZ-NH3D */
-    {0x54c, 0x182}, /* Sony MZ-NH900 */
-    {0x54c, 0x184}, /* Sony MZ-NH700/800 */
-    {0x54c, 0x186}, /* Sony MZ-NH600/600D */
-    {0x54c, 0x188}, /* Sony MZ-N920 */
-    {0x54c, 0x18a}, /* Sony LAM-3 */
-    {0x54c, 0x1e9}, /* Sony MZ-DH10P */
-    {0x54c, 0x219}, /* Sony MZ-RH10 */
-    {0x54c, 0x21b}, /* Sony MZ-RH910 */
-    {0x54c, 0x21d}, /* Sony CMT-AH10 */
-    {0x54c, 0x22c}, /* Sony CMT-AH10 */
-    {0x54c, 0x23c}, /* Sony DS-HMD1 */
-    {0x54c, 0x286}, /* Sony MZ-RH1 */
-
-    {0x4dd, 0x7202}, /* Sharp IM-MT880H/MT899H */
-    {0x4dd, 0x9013}, /* Sharp IM-DR400/DR410 */
-    {0x4dd, 0x9014}, /* Sharp IM-DR80/DR420/DR580 and Kenwood DMC-S9NET */
-
-    {0, 0} /* terminating pair */
+    {0x54c, 0x34, "Sony PCLK-XX"},
+    {0x54c, 0x36, "Sony (unknown model)"},
+    {0x54c, 0x75, "Sony MZ-N1"},
+    {0x54c, 0x7c, "Sony (unknown model)"},
+    {0x54c, 0x80, "Sony LAM-1"},
+    {0x54c, 0x81, "Sony MDS-JE780/JB980"},
+    {0x54c, 0x84, "Sony MZ-N505"},
+    {0x54c, 0x85, "Sony MZ-S1"},
+    {0x54c, 0x86, "Sony MZ-N707"},
+    {0x54c, 0x8e, "Sony CMT-C7NT"},
+    {0x54c, 0x97, "Sony PCGA-MDN1"},
+    {0x54c, 0xad, "Sony CMT-L7HD"},
+    {0x54c, 0xc6, "Sony MZ-N10"},
+    {0x54c, 0xc7, "Sony MZ-N910"},
+    {0x54c, 0xc8, "Sony MZ-N710/NE810/NF810"},
+    {0x54c, 0xc9, "Sony MZ-N510/NF610"},
+    {0x54c, 0xca, "Sony MZ-NE410/DN430/NF520"},
+    {0x54c, 0xeb, "Sony MZ-NE810/NE910"},
+    {0x54c, 0xe7, "Sony CMT-M333NT/M373NT"},
+    {0x54c, 0x101, "Sony LAM-10"},
+    {0x54c, 0x113, "Aiwa AM-NX1"},
+    {0x54c, 0x14c, "Aiwa AM-NX9"},
+    {0x54c, 0x17e, "Sony MZ-NH1"},
+    {0x54c, 0x180, "Sony MZ-NH3D"},
+    {0x54c, 0x182, "Sony MZ-NH900"},
+    {0x54c, 0x184, "Sony MZ-NH700/800"},
+    {0x54c, 0x186, "Sony MZ-NH600/600D"},
+    {0x54c, 0x188, "Sony MZ-N920"},
+    {0x54c, 0x18a, "Sony LAM-3"},
+    {0x54c, 0x1e9, "Sony MZ-DH10P"},
+    {0x54c, 0x219, "Sony MZ-RH10"},
+    {0x54c, 0x21b, "Sony MZ-RH910"},
+    {0x54c, 0x21d, "Sony CMT-AH10"},
+    {0x54c, 0x22c, "Sony CMT-AH10"},
+    {0x54c, 0x23c, "Sony DS-HMD1"},
+    {0x54c, 0x286, "Sony MZ-RH1"},
+
+    {0x4dd, 0x7202, "Sharp IM-MT880H/MT899H"},
+    {0x4dd, 0x9013, "Sharp IM-DR400/DR410"},
+    {0x4dd, 0x9014, "Sharp IM-DR80/DR420/DR580 or Kenwood DMC-S9NET"},
+
+    {0, 0, NULL} /* terminating pair */
 };
 
 
@@ -102,6 +102,7 @@ netmd_error netmd_init(netmd_device **device_list)
 	  new_device = malloc(sizeof(netmd_device));
 	  new_device->usb_dev = list[i];
 	  new_device->link = *device_list;
+          new_device->model = known_devices[count].model;
 	  *device_list = new_device;
 	}
       }
diff --git a/libnetmd/netmd_dev.h b/libnetmd/netmd_dev.h
index ba6cea5..0ccff55 100644
--- a/libnetmd/netmd_dev.h
+++ b/libnetmd/netmd_dev.h
@@ -7,6 +7,7 @@
 typedef struct netmd_device {
     struct netmd_device *link;
     char name[32];
+    char *model;
     struct libusb_device *usb_dev;
 } netmd_device;
 
@@ -16,6 +17,7 @@ typedef struct netmd_device {
 struct netmd_devices {
     int	idVendor;
     int	idProduct;
+    char *model;
 };
 
 /**
diff --git a/netmdcli/netmdcli.c b/netmdcli/netmdcli.c
index b4e0ee3..5090243 100644
--- a/netmdcli/netmdcli.c
+++ b/netmdcli/netmdcli.c
@@ -210,6 +210,7 @@ int main(int argc, char* argv[])
         return -1;
     }
     printf("%s\n", name);
+    printf("%s\n", netmd->model);
 
     netmd_initialize_disc_info(devh, md);
     printf("Disc Title: %s\n\n", md->groups[0].name);
-- 
1.7.6.msysgit.0

<-- thread -->
<-- date -->
  • linux-minidisc - September 2011 - Archives indexes sorted by:
    [ thread ] [ subject ] [ author ] [ date ]
  • Complete archive of the linux-minidisc mailing list
  • More info on this list...

Hilfe

  • FAQ
  • Dienstbeschreibung
  • ZEDAT Beratung
  • postmaster@lists.fu-berlin.de

Service-Navigation

  • Startseite
  • Listenauswahl

Einrichtung Mailingliste

  • ZEDAT-Portal
  • Mailinglisten Portal