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