Hi!

Here is an update to the libmtp port to version 1.0.3. The API is not
compatible with the old one, so I had to update the only two depending
ports: amarok and gnomad2 (minor, not too intrusive patches).
The new libmtp is needed for a new port on which I'm working currently.
It is an advanced and Qt4 port of amarok, called clementine.
Please see the attached patch(es).

I've sent this to william@ also, and he said ok to the libmtp port, but
he couldn't find time to test the audio players. So here I am, asking
for some feedback.


Thanks in advance,
Daniel

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F
Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/amarok/Makefile,v
retrieving revision 1.47
diff -p -u -r1.47 Makefile
--- Makefile    26 Nov 2010 07:07:56 -0000      1.47
+++ Makefile    3 Dec 2010 19:52:19 -0000
@@ -7,7 +7,7 @@ HOMEPAGE =      http://amarok.kde.org/
 V =            1.4.10
 MASTER_SITES = ${MASTER_SITE_KDE:=stable/amarok/$V/src/}
 DISTNAME =     amarok-$V
-REVISION =     11
+REVISION =     12
 EXTRACT_SUFX = .tar.bz2
 
 # GPLv2/LGPLv2/GFDL
Index: patches/patch-amarok_src_mediadevice_mtp_mtpmediadevice_cpp
===================================================================
RCS file: patches/patch-amarok_src_mediadevice_mtp_mtpmediadevice_cpp
diff -N patches/patch-amarok_src_mediadevice_mtp_mtpmediadevice_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-amarok_src_mediadevice_mtp_mtpmediadevice_cpp 3 Dec 2010 
19:52:19 -0000
@@ -0,0 +1,53 @@
+$OpenBSD$
+--- amarok/src/mediadevice/mtp/mtpmediadevice.cpp.orig Fri Dec  3 19:14:37 2010
++++ amarok/src/mediadevice/mtp/mtpmediadevice.cpp      Fri Dec  3 19:41:00 2010
+@@ -296,9 +296,10 @@ MediaItem
+ 
+     m_critical_mutex.lock();
+     debug() << "Sending track... " << bundle.url().path().utf8() << endl;
++    trackmeta->parent_id = parent_id;
+     int ret = LIBMTP_Send_Track_From_File(
+         m_device, bundle.url().path().utf8(), trackmeta,
+-        progressCallback, this, parent_id
++        progressCallback, this
+     );
+     m_critical_mutex.unlock();
+ 
+@@ -380,7 +381,7 @@ MtpMediaDevice::getDefaultParentId( void )
+     // Otherwise look for a folder called "Music"
+     else if( m_folders != 0 )
+     {
+-        parent_id = folderNameToID( "Music", m_folders );
++        parent_id = folderNameToID( (char *)"Music", m_folders );
+         if( !parent_id )
+         {
+             debug() << "Parent folder could not be found. Going to use top 
level." << endl;
+@@ -529,7 +530,8 @@ LIBMTP_album_t
+         for( MtpMediaItem *it = dynamic_cast<MtpMediaItem*>(items->first()); 
it; it = dynamic_cast<MtpMediaItem*>(items->next()) )
+             album_object->tracks[i++] = it->track()->id();
+         album_object->no_tracks = items->count();
+-        ret = LIBMTP_Create_New_Album( m_device, album_object, 0 );
++        album_object->parent_id = 0;
++        ret = LIBMTP_Create_New_Album( m_device, album_object );
+         if( ret != 0 )
+         {
+             debug() << "creating album failed : " << ret << endl;
+@@ -608,7 +610,7 @@ MtpMediaDevice::createFolder( const char *name, uint32
+ {
+     debug() << "Creating new folder '" << name << "' as a child of "<< 
parent_id << endl;
+     char *name_copy = qstrdup( name );
+-    uint32_t new_folder_id = LIBMTP_Create_Folder( m_device, name_copy, 
parent_id );
++    uint32_t new_folder_id = LIBMTP_Create_Folder( m_device, name_copy, 
parent_id, 0 );
+     delete(name_copy);
+     debug() << "New folder ID: " << new_folder_id << endl;
+     if( new_folder_id == 0 )
+@@ -913,7 +915,8 @@ MtpMediaDevice::playlistFromItem( MtpMediaItem *item )
+     if( item->playlist()->id() == 0 )
+     {
+         debug() << "creating new playlist : " << metadata->name << endl;
+-        int ret = LIBMTP_Create_New_Playlist( m_device, metadata, 0 );
++      metadata->parent_id = 0;
++        int ret = LIBMTP_Create_New_Playlist( m_device, metadata );
+         if( ret == 0 )
+         {
+             item->playlist()->setId( metadata->playlist_id );
Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/gnomad2/Makefile,v
retrieving revision 1.21
diff -p -u -r1.21 Makefile
--- Makefile    22 Nov 2010 08:56:47 -0000      1.21
+++ Makefile    3 Dec 2010 19:53:37 -0000
@@ -3,7 +3,7 @@
 COMMENT=               GTK+ tool for managing Creative and Dell audio players
 
 DISTNAME=              gnomad2-2.9.0
-REVISION=              6
+REVISION=              7
 CATEGORIES=            audio
 
 HOMEPAGE=              http://gnomad2.sourceforge.net/
Index: patches/patch-src_jukebox_c
===================================================================
RCS file: patches/patch-src_jukebox_c
diff -N patches/patch-src_jukebox_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_jukebox_c 3 Dec 2010 19:53:37 -0000
@@ -0,0 +1,35 @@
+$OpenBSD$
+--- src/jukebox.c.orig Tue Aug 14 22:28:26 2007
++++ src/jukebox.c      Fri Dec  3 20:17:23 2010
+@@ -2028,8 +2028,9 @@ gpointer hd2jb_thread(gpointer thread_args)
+       // TODO: Discarding return value as for now
+       // g_print("Transferring MTP track...\n");
+       // Hardcode parent (folder) to 0 (== root directory)
++      trackmeta->parent_id = 0;
+       ret = LIBMTP_Send_Track_From_File(mtpdevice, tmpfname, trackmeta,
+-                                        mtp_progress, NULL, 0);
++                                        mtp_progress, NULL);
+       if (ret != 0) {
+         g_print("Error sending file \"%s\" to MTP device!\n", tmpfname);
+         goto hd2jb_cleanup;
+@@ -2190,8 +2191,9 @@ gpointer hd2jb_data_thread(gpointer thread_args)
+       filemeta->filename = g_strdup(hdmeta->filename);
+       filemeta->filesize = (uint64_t) hdmeta->size;
+       filemeta->filetype = filetype_d->filetype;
++      filemeta->parent_id = 0;
+       
+-      if (LIBMTP_Send_File_From_File(mtpdevice, tmpfname, filemeta, 
mtp_progress, NULL, 0) != 0) {
++      if (LIBMTP_Send_File_From_File(mtpdevice, tmpfname, filemeta, 
mtp_progress, NULL) != 0) {
+         LIBMTP_destroy_file_t(filemeta);
+         g_free(tmpfname);
+         goto hd2jb_data_cleanup;
+@@ -2584,7 +2586,8 @@ guint32 jukebox_create_playlist(gchar *plname, GtkTree
+     pl = LIBMTP_new_playlist_t();
+     pl->name = g_strdup(plname);
+     // This will create the new playlist in the default folder
+-    if (LIBMTP_Create_New_Playlist(mtpdevice, pl, 0) != 0) {
++    pl->parent_id = 0;
++    if (LIBMTP_Create_New_Playlist(mtpdevice, pl) != 0) {
+       create_error_dialog(_("Could not create playlist"));
+       return 0;
+     }
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/libmtp/Makefile,v
retrieving revision 1.14
diff -p -u -r1.14 Makefile
--- Makefile    15 Nov 2010 19:46:00 -0000      1.14
+++ Makefile    3 Dec 2010 19:49:48 -0000
@@ -2,10 +2,9 @@
 
 COMMENT=               Media Transfer Protocol (MTP) implementation
 
-DISTNAME=              libmtp-0.2.6.1
+DISTNAME=              libmtp-1.0.3
 PKGNAME=               ${DISTNAME}
-REVISION=              2
-SHARED_LIBS=           mtp     3.0     # .8.0
+SHARED_LIBS=           mtp     11.1
 CATEGORIES=            devel
 
 HOMEPAGE=              http://libmtp.sourceforge.net/
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/libmtp/distinfo,v
retrieving revision 1.7
diff -p -u -r1.7 distinfo
--- distinfo    21 Apr 2008 15:23:22 -0000      1.7
+++ distinfo    3 Dec 2010 19:49:48 -0000
@@ -1,5 +1,5 @@
-MD5 (libmtp-0.2.6.1.tar.gz) = AncKe0v7kc2eG9JuqoR3Cw==
-RMD160 (libmtp-0.2.6.1.tar.gz) = /C1+YFU3UT6YTDGMMBM35+pNPbk=
-SHA1 (libmtp-0.2.6.1.tar.gz) = yRoSsk2tAz9xtNr+2hE+soGZFUM=
-SHA256 (libmtp-0.2.6.1.tar.gz) = +AgImd7n7JqXBHiEs9UeW9MYpif4TTXD9NapZ+Oc3Vc=
-SIZE (libmtp-0.2.6.1.tar.gz) = 534773
+MD5 (libmtp-1.0.3.tar.gz) = qXKGmGB2VHblLy66RfK5Hg==
+RMD160 (libmtp-1.0.3.tar.gz) = u7WPIxvJRjj6cgC2wIOp3d0UwPQ=
+SHA1 (libmtp-1.0.3.tar.gz) = PSN9wC5CDZzLjyU50oGLL2GOr18=
+SHA256 (libmtp-1.0.3.tar.gz) = HQBIdhjnabvmQSYabhMSx7rDwoFwrysTp1C4+kAUyso=
+SIZE (libmtp-1.0.3.tar.gz) = 596040
Index: pkg/PFRAG.shared
===================================================================
RCS file: /cvs/ports/devel/libmtp/pkg/PFRAG.shared,v
retrieving revision 1.1.1.1
diff -p -u -r1.1.1.1 PFRAG.shared
--- pkg/PFRAG.shared    11 Jan 2007 21:56:16 -0000      1.1.1.1
+++ pkg/PFRAG.shared    3 Dec 2010 19:49:48 -0000
@@ -1,2 +1,2 @@
-...@comment $OpenBSD: PFRAG.shared,v 1.1.1.1 2007/01/11 21:56:16 jasper Exp $
+...@comment $OpenBSD$
 @lib lib/libmtp.so.${LIBmtp_VERSION}
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/libmtp/pkg/PLIST,v
retrieving revision 1.2
diff -p -u -r1.2 PLIST
--- pkg/PLIST   30 Dec 2007 19:57:35 -0000      1.2
+++ pkg/PLIST   3 Dec 2010 19:49:48 -0000
@@ -1,26 +1,26 @@
-...@comment $OpenBSD: PLIST,v 1.2 2007/12/30 19:57:35 jasper Exp $
+...@comment $OpenBSD$
 %%SHARED%%
-bin/mtp-albumart
-bin/mtp-albums
-bin/mtp-connect
-bin/mtp-delfile
-bin/mtp-detect
-bin/mtp-emptyfolders
-bin/mtp-files
-bin/mtp-folders
-bin/mtp-format
-bin/mtp-getfile
-bin/mtp-getplaylist
-bin/mtp-hotplug
-bin/mtp-newfolder
-bin/mtp-newplaylist
-bin/mtp-playlists
-bin/mtp-reset
-bin/mtp-sendfile
-bin/mtp-sendtr
-bin/mtp-thumb
-bin/mtp-tracks
-bin/mtp-trexist
+...@bin bin/mtp-albumart
+...@bin bin/mtp-albums
+...@bin bin/mtp-connect
+...@exec ln -sf bin/mtp-connect ${PREFIX}/bin/mtp-delfile
+...@bin bin/mtp-detect
+...@bin bin/mtp-emptyfolders
+...@bin bin/mtp-files
+...@bin bin/mtp-folders
+...@bin bin/mtp-format
+...@exec ln -sf bin/mtp-connect ${PREFIX}/bin/mtp-getfile
+...@bin bin/mtp-getplaylist
+...@bin bin/mtp-hotplug
+...@exec ln -sf bin/mtp-connect ${PREFIX}/bin/mtp-newfolder
+...@bin bin/mtp-newplaylist
+...@bin bin/mtp-playlists
+...@bin bin/mtp-reset
+...@exec ln -sf bin/mtp-connect ${PREFIX}/bin/mtp-sendfile
+...@exec ln -sf bin/mtp-connect ${PREFIX}/bin/mtp-sendtr
+...@bin bin/mtp-thumb
+...@bin bin/mtp-tracks
+...@bin bin/mtp-trexist
 include/libmtp.h
 lib/libmtp.a
 lib/libmtp.la

Reply via email to