XNA Creators Club Online
Page 1 of 1 (14 items)
Sort Posts: Previous Next

Extracting filenames from the media library APIs

Last post 26/10/2009 7:25 by EpicSeptemViginti. 13 replies.
  • 15/10/2009 21:39

    Extracting filenames from the media library APIs

    I have a need to extract as much information about songs loaded on the system. (ID3 tags and more)

    I discovered TagLib# for getting such ID3 information, however I need to acquire the filename of the songs in order to use the TagLib library.

    So my question is:

    Is there a way to extract the filename of songs from the Song class in the new Media namespace?
    Senior at Oregon Institute of Technology
    Writing an alternative to the dashboard media player for the xbox 360.
  • 15/10/2009 22:13 In reply to

    Re: Extracting filenames from the media library APIs

    EpicSeptemViginti:
    Is there a way to extract the filename of songs from the Song class in the new Media namespace?


    No.
    XNA Framework Developer - blog - homepage
  • 15/10/2009 22:21 In reply to

    Re: Extracting filenames from the media library APIs

    Really?

    Just no way to do this?

    No suggestions?


    Senior at Oregon Institute of Technology
    Writing an alternative to the dashboard media player for the xbox 360.
  • 15/10/2009 22:29 In reply to

    Re: Extracting filenames from the media library APIs

    EpicSeptemViginti:
    Really?


    Truly.

    EpicSeptemViginti:
    Just no way to do this?

    Not that I know of anyway.

    EpicSeptemViginti:
    No suggestions?


    If you need to enumerate the filenames of songs in a media library, and the technology you are using to do the enumeration does not provide filename data, it seems to me that you have two options:

    • Change your design to work without filename information
    • Or use some different technology to enumerate the media content
    XNA Framework Developer - blog - homepage
  • 15/10/2009 22:46 In reply to

    Re: Extracting filenames from the media library APIs

    Well, getting the filename is just a step towards using the aforementioned TagLib library for extracting ID3 tag information. If I could do this without requiring the filename somehow I would, because this would be the only reason I would need the filename. It seems as though this is something I should look into more.

    Thank you for pointing that out.


    Senior at Oregon Institute of Technology
    Writing an alternative to the dashboard media player for the xbox 360.
  • 17/10/2009 18:34 In reply to

    Re: Extracting filenames from the media library APIs

    I've tried searching but cannot find much in the way of results,

    Is anyone aware of any sort of ID3 tag (or any other tagging system) implementation in the new Media Library namespace?

    Is this something that is being looked into for future implementation?
    Senior at Oregon Institute of Technology
    Writing an alternative to the dashboard media player for the xbox 360.
  • 17/10/2009 23:12 In reply to

    Re: Extracting filenames from the media library APIs

    I'm confused as to what you're trying to achieve... the Song class and MediaPlayer class provide access to all of the common ID tag info through properties like Artist, Genre, etc.

    what are you trying to accomplish?  also what platforms are you developing for specifically?
  • 18/10/2009 5:30 In reply to

    Re: Extracting filenames from the media library APIs

    I am trying to get access to many more ID tags such as ID3 v2 frames that include:

    Album/Movie/Show title
    BPM (beats per minute)
    Composer
    Content type
    Copyright message
    Date of recording
    Playlist delay
    Encoded by
    Lyricist/Text writer
    File type
    Time of recording
    Content group description
    Title/songname/content description
    Subtitle/Description refinement
    Initial key
    Language(s) used in the audio
    Length
    Media type of audio original
    Original album/movie/show title
    Original filename
    Original lyricist(s)/text writer(s)
    Original artist(s)/performer(s)
    Original release year
    File owner/licensee
    Lead performer(s)/Soloist(s)
    Band/orchestra/accompaniment
    Conductor/performer refinement
    Interpreted, remixed, or otherwise modified by
    Part of a set
    Publisher
    Track number/Position in set
    Recording dates
    Internet radio station name
    Internet radio station owner
    Size
    ISRC (international standard recording code)
    Software/Hardware and settings used for encoding
    Year of the recording
    User defined text information frame

    As well as the following URL frames:

    Commercial information
    Copyright/Legal information
    Official audio file webpage
    Official artist/performer webpage
    Official audio source webpage
    Official internet radio station homepage
    Payment
    Publishers official webpage
    User defined URL link frame


    Which will help me accomplish more of a way to recognize relationships between media in the media player I am writing in XNA(3.1). I am attempting to make it work across all platforms(x86 Win7, Xbox360, ZuneHD), but for proof of concept for my senior project the user will interface on the xbox 360.
    This library I mentioned, taglib#, allows access to such tags. And it uses filenames to do so, however I am not finding much in the way of being able to tie the 'Song' class from the Media namespace to their filenames.

    I am open to all suggestions on the matter. I will attempt to brute force all files within a given media folder, but I will still need to figure out some way of being able to play the files. Which is why I want to tie them to their 'Song' class because it is easy to play them and use what the Media namespace offers.
    Senior at Oregon Institute of Technology
    Writing an alternative to the dashboard media player for the xbox 360.
  • 18/10/2009 16:26 In reply to

    Re: Extracting filenames from the media library APIs

    EpicSeptemViginti:
    I am writing in XNA(3.1). I am attempting to make it work across all platforms(x86 Win7, Xbox360, ZuneHD), but for proof of concept for my senior project the user will interface on the xbox 360.
    This library I mentioned, taglib#, allows access to such tags. And it uses filenames to do so, however I am not finding much in the way of being able to tie the 'Song' class from the Media namespace to their filenames.


    I think you will find this plan is impossible for quite a fundamental reason: the XNA Framework Media classes do not provide access to filenames. The reason you are not finding much in the way of this is because it is not possible!

    Even more fundamentally, the underlying Zune and Xbox 360 media libraries are built around a database, not a conventional filesystem, so in many cases there is no filename involved even if we were interested in exposing such a thing in our API.

    Sorry, but I would recommend changing your plan to something more feasible.
    XNA Framework Developer - blog - homepage
  • 18/10/2009 17:23 In reply to

    Re: Extracting filenames from the media library APIs

    Shawn,

    Thank you for a little more insight as to why the filename is not retrievable from the Song class. 

    Do you think that adding ID3v2 tags to the Song class would be something we could look forward to in the future?
    Senior at Oregon Institute of Technology
    Writing an alternative to the dashboard media player for the xbox 360.
  • 18/10/2009 22:39 In reply to

    Re: Extracting filenames from the media library APIs

    I don't think that is something we are actively considering at the moment. If you have feature requests for future versions, please suggest them here.
    XNA Framework Developer - blog - homepage
  • 26/10/2009 2:43 In reply to

    Re: Extracting filenames from the media library APIs

    I am moving on in my project and hoping that ID3 tags become accessible somehow in the future, and then will easily be pluggable into my software.

    If anyone has any more suggestions to this I am always open for them.

    Shawn Hargreaves:
    I don't think that is something we are actively considering at the moment. If you have feature requests for future versions, please suggest them here.

    BTW, this link with the following instructions for the bugs and feedback link takes you to Microsoft Connect, but I see no way of submitting feedback at the URL https://connect.microsoft.com/site/sitehome.aspx?SiteID=226


    Senior at Oregon Institute of Technology
    Writing an alternative to the dashboard media player for the xbox 360.
  • 26/10/2009 4:25 In reply to

    Re: Extracting filenames from the media library APIs

    Follow the instructions in my signature...
    Play Kissy Poo - a game for 4 year olds on Xbox and windows
    The ZBuffer
    News and information for XNA
      Follow The Zman on twitter, Email me
        Please read the forum FAQs - Bug/Feature reporting
          Don't forget to mark good answers and good playtest feedback when you see it!!!
  • 26/10/2009 7:25 In reply to

    Re: Extracting filenames from the media library APIs

    The ZMan:
    Follow the instructions in my signature...

    Yes, that is the same link that I posted, that also Shawn posted.

    Bugs and feature requests for XNA Game Studio and for the whole http://*.xna.com/ website are handled using Microsoft Connect

    If you haven't signed up at the Microsoft Connect Site, it couldn't be easier.

    1. Sign in using your Windows Live ID or Passport account (if you haven't already).
    2. If you have not used connect before you will be asked to 'Register for connect'
    3. Choose 'Connection Directory' (its next to 'Your Dashboard') 
    4. Scroll down. In the table that lists the various programs available, find  'XNA Game Studio', and then  choose 'Add to dashboard'
    5. Choose 'Your dashboard'
    6. From the dashboard choose XNA Game Studio

    To Add a bug or feature choose 'Feedback' on the left menu or just goto this URL https://connect.microsoft.com/feedback/default.aspx?SiteID=226

    That same URL is the one I mentioned, that if you goto I don't see any feedback on the left menu as this step states.

    Senior at Oregon Institute of Technology
    Writing an alternative to the dashboard media player for the xbox 360.
Page 1 of 1 (14 items) Previous Next