[Solved] How to maintain Meta Data of Media Library?



  • Hi,

    I'm new to Qt & QML.
    I'm trying to develop a music player for desktops (Win, Mac, Lin).
    My idea is to have the UI in QML. I understood that for maintaining Meta data of the music library it has to be done with Qt.

    Now, my problem is, If i have a huge library, after scanning the library and getting the metadata (Song Name, Album, Artist, Gener, Year etc) I have to store it somewhere for future usage and showing in different views (Album view, Artist view etc). So, How should I maintain this huge list in the order of Albums, Artists. Should I use a Database? If so how should I bundle that along with my application.! B'se end user might not have a database etc installed.

    I guess I'm being dumb here. But Can some one please tell me how to achieve this.

    Regards,
    inblueswithu


  • Moderators

    Maintain your medialibrary metadata in SQLite database. Create the database with the required tables very first time your app starts. Then you just need to add the metadata of the newly discovered files.
    Qt has built in support for SQLite.



  • @p3c0: Does all the media players follow the same? I mean a built in DB for storing all such info?
    [quote author="p3c0" date="1378014580"]Maintain your medialibrary metadata in SQLite database. Create the database with the required tables very first time your app starts. Then you just need to add the metadata of the newly discovered files.
    Qt has built in support for SQLite.[/quote]


  • Moderators

    Maybe they are storing. I'm not sure. But the point here is to store records some how so that they can be accessed precisely and quickly. Databases are meant for that. And since SQLite is file based db its faster. Using a database reduces the overhead of maintaining the data for the developer as it is handled by the DB itself.



  • @p3c0: True as you said. I'll try that.

    Folks, Any other ideas or ways of doing this?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.