extragear/multimedia/amarok

Dan Meltzer parallelgrapefruit at gmail.com
Tue Sep 23 16:25:43 CEST 2008


On Tue, Sep 23, 2008 at 10:23 AM, Dan Meltzer
<parallelgrapefruit at gmail.com> wrote:
> On Tue, Sep 23, 2008 at 10:09 AM, Ian Monroe <ian.monroe at gmail.com> wrote:
>> SVN commit 863921 by ianmonroe:
>>
>> Enable MySQL Embedded support. So now Amarok 2 requires the libmysqld.a library.
>> On OpenSUSE, this is installed with libmysqlclient-devel, YMMV.
>>
>> We're pretty close to the beta2 tag, so if something is commonly not working
>> ping me and I'll revert. It'd be really nice to have this tested in the beta2
>> though.
>>
>> The reason for the 'FindMySQLAmarok' file is that the default FindMySQL couldn't
>> find mysql embedded on my system. I figure there might be some more corrections
>> needed, then we can submit our changes upstream in ~1 month.
>
> As recently blogged about by the kde-windows team, mysqle is a no go
> on windows due to mysql being pretty horrible upstream.
>
> Dan,

... And to finish my email...

How about, for now (as the sqlite code hasn't been deleted yet) until
we find a solution on windows (which will probably take a while) we
still use sqlite on windows and mysql on linux?
>>
>> CCMAIL: amarok at kde.org
>> CCMAIL: amarok-devel at kde.org
>>
>>  M  +3 -0      CMakeLists.txt
>>  M  +2 -0      ChangeLog
>>  A             cmake/modules/FindMySQLAmarok.cmake
>>  M  +6 -19     src/browsers/servicebrowser/magnatunestore/MagnatuneDatabaseHandler.cpp
>>  M  +4 -4      src/collection/sqlcollection/CMakeLists.txt
>>  M  +3 -3      src/collection/sqlcollection/SqlCollection.cpp
>>
>>
>> --- trunk/extragear/multimedia/amarok/CMakeLists.txt #863920:863921
>> @@ -33,6 +33,9 @@
>>  find_package(Strigi REQUIRED)
>>  macro_log_feature( STRIGI_FOUND "strigi" "Index metadata of files" "http://strigi.sourceforge.net" TRUE "" "" )
>>
>> +find_package(MySQLAmarok REQUIRED)
>> +macro_log_feature( MYSQL_EMBEDDED_FOUND "mysqld" "Embedded MySQL" "http://www.mysql.com" TRUE "" "" )
>> +
>>  include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${KDE4_INCLUDES} ${TAGLIB_INCLUDES})
>>  include(CheckTagLibFileName)
>>
>> --- trunk/extragear/multimedia/amarok/ChangeLog #863920:863921
>> @@ -25,6 +25,8 @@
>>     * Add option to enable/disable automatic cover fetching.
>>
>>   CHANGES:
>> +    * Switch from Sqlite to MySQL Embedded (libmysqld), resulting in faster
>> +      scanning and collection filtering times.
>>     * When saving a new user playlist, the playlist browser immediately shows
>>       the newly saved playlist and starts an edit operation on it.
>>     * Many small visual and layout tweaks.
>> --- trunk/extragear/multimedia/amarok/src/browsers/servicebrowser/magnatunestore/MagnatuneDatabaseHandler.cpp #863920:863921
>> @@ -39,24 +39,11 @@
>>     //Get database instance
>>     SqlStorage *sqlDb = CollectionManager::instance()->sqlStorage();
>>
>> -    QString tracksAutoIncrement = "";
>> -    QString albumsAutoIncrement = "";
>> -    QString artistAutoIncrement = "";
>> -    QString genreAutoIncrement = "";
>> -    QString moodsAutoIncrement = "";
>> +    QString autoIncrement = "AUTO_INCREMENT";
>>
>> -    /*
>> -    if ( sqlDb->type() == DbConnection::mysql )
>> -    {
>> -        tracksAutoIncrement = "AUTO_INCREMENT";
>> -        albumsAutoIncrement = "AUTO_INCREMENT";
>> -        artistAutoIncrement = "AUTO_INCREMENT";
>> -        moodsAutoIncrement = "AUTO_INCREMENT";
>> -    }*/
>> -
>>     // create table containing tracks
>>     QString queryString = "CREATE TABLE magnatune_tracks ("
>> -                          "id INTEGER PRIMARY KEY " + tracksAutoIncrement + ',' +
>> +                          "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>>                           "name " + sqlDb->textColumnType() + ',' +
>>                           "track_number INTEGER,"
>>                           "length INTEGER,"
>> @@ -76,7 +63,7 @@
>>
>>     //Create album table
>>     queryString = "CREATE TABLE magnatune_albums ("
>> -                  "id INTEGER PRIMARY KEY " + albumsAutoIncrement + ',' +
>> +                  "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>>                   "name " + sqlDb->textColumnType() + ',' +
>>                   "year INTEGER,"
>>                   "artist_id INTEGER,"
>> @@ -94,7 +81,7 @@
>>
>>     //Create artist table
>>     queryString = "CREATE TABLE magnatune_artists ("
>> -                  "id INTEGER PRIMARY KEY " + artistAutoIncrement + ',' +
>> +                  "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>>                   "name " + sqlDb->textColumnType() + ',' +
>>                   "artist_page " + sqlDb->exactTextColumnType() + ',' +
>>                   "description " + sqlDb->textColumnType() + ',' +
>> @@ -108,7 +95,7 @@
>>
>>     //create genre table
>>     queryString = "CREATE TABLE magnatune_genre ("
>> -                  "id INTEGER PRIMARY KEY " + genreAutoIncrement + ',' +
>> +                  "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>>                   "name " + sqlDb->textColumnType() + ',' +
>>                   "album_id INTEGER" + ");";
>>
>> @@ -120,7 +107,7 @@
>>
>>     //create moods table
>>      queryString = "CREATE TABLE magnatune_moods ("
>> -                  "id INTEGER PRIMARY KEY " + moodsAutoIncrement + ',' +
>> +                  "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>>                   "track_id INTEGER," +
>>                   "mood " + sqlDb->textColumnType() + ");";
>>
>> --- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/CMakeLists.txt #863920:863921
>> @@ -16,7 +16,7 @@
>>         ${KDE4_INCLUDE_DIR}
>>         ${STRIGI_INCLUDE_DIR}
>>         ${QT_INCLUDES}
>> -       #       ${MYSQL_INCLUDE_DIR}
>> +        ${MYSQL_INCLUDE_DIR}
>>         )
>>
>>  ########### next target ###############
>> @@ -45,7 +45,7 @@
>>     SqlMeta.cpp
>>     SqliteCollection.cpp
>>     ../../sqlite/sqlite3.c
>> -    #    MySqlEmbeddedCollection.cpp
>> +    MySqlEmbeddedCollection.cpp
>>    ${extra_src}
>>  )
>>
>> @@ -64,7 +64,7 @@
>>     ${KDE4_KIO_LIBS}
>>     ${KDE4_THREADWEAVER_LIBRARIES}
>>     ${sqlite_deps}
>> -    #    ${MYSQL_EMBEDDED_LIBRARIES} crypt ssl crypto z
>> +    ${MYSQL_EMBEDDED_LIBRARIES} crypt ssl crypto z
>>  )
>>
>>  if(APPLE)
>> @@ -77,7 +77,7 @@
>>  #        MySqlQueryMaker.cpp)
>>  #
>>  #    kde4_add_plugin(amarok_collection-mysql WITH_PREFIX ${amarok_mysql_SRCS})
>> -#    target_link_libraries(amarok_collection-mysql amaroklib ${MYSQL_LIBS} ${KDE4_KDECORE_LIBS} )
>> +#    target_link_libraries(amarok_collection-mysql amaroklib ${MYSQL_LIBS} ${KDE4_KDECORE_LIBS} ssl )
>>  #    install(TARGETS amarok_collection-mysql DESTINATION ${PLUGIN_INSTALL_DIR})
>>  #    install(FILES amarok_collection-mysql.desktop DESTINATION ${SERVICES_INSTALL_DIR})
>>  #endif(MYSQL_FOUND)
>> --- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/SqlCollection.cpp #863920:863921
>> @@ -25,7 +25,7 @@
>>  #include "SqlCollectionLocation.h"
>>  #include "SqlQueryMaker.h"
>>  #include "SqliteCollection.h"
>> -//#include "MySqlEmbeddedCollection.h"
>> +#include "MySqlEmbeddedCollection.h"
>>  //#include "mysqlcollection.h"
>>
>>  #ifdef Q_OS_WIN32
>> @@ -62,8 +62,8 @@
>>             break;
>>     }*/
>>  // uncomment next to test MySQLe (and comment the next to next)
>> -//    collection = new MySqlEmbeddedCollection( "localCollection", i18n( "Local Collection" ) );
>> -    collection = new SqliteCollection( "localCollection", i18n( "Local Collection" ) );
>> +    collection = new MySqlEmbeddedCollection( "localCollection", i18n( "Local Collection" ) );
>> +//    collection = new SqliteCollection( "localCollection", i18n( "Local Collection" ) );
>>     emit newCollection( collection );
>>  }
>>
>> _______________________________________________
>> Amarok-devel mailing list
>> Amarok-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/amarok-devel
>>
>


More information about the Amarok-devel mailing list