customerlogin
customerlogin
index features pricing register manual download forum bandlogin


OMS - Open Music Source   Open Music Source
  Code Package & Web Service Manual
  (Ver 1.4 / Last Changed: 1-Jan-2008)

Welcome to Open Music Source!

This document should help you with installing the OMS codes and get it running on your server to integrate our content into your website.
We, the OMS developers, thank you for choosing our software and hope you find it useful in all your endeavors.


1. Getting Started

1.1 Package content
Files inside the archive:

  • common_functions.php
  • get_artist.php
  • get_artist_article.php
  • get_artist_concerts.php
  • get_artist_list.php
  • get_artist_radio.php
  • get_artist_rating.php
  • get_artist_reviews.php
  • get_artist_songs
  • get_band_members.php
  • get_concert.php
  • get_concert_list.php
  • get_song.php
  • get_song_article.php
  • get_song_charts.php
  • get_song_list.php
    • inc/4.3.10/functions.php
    • inc/4.3.10/oms_xlm_library.php
    • inc/5.1.2/functions.php
    • inc/5.1.2/oms_xlm_library.php
    • inc/config.php
    • inc/nusoap/lgpl.txt
    • inc/nusoap/nusoap.php
    • inc/nusoap/README.txt
  • is_artist_my_paying_customer.php
  • manual.html
  • send_email_to_artist

  • ...about the files and folders:

    The blue colored files represent the Web Service functions where we included code comments and example output. These codes will work right away when executed (on your server or localy with an apache installed) as they are prepared and provided with all required elements. We picked example artist- or genre IDs from our database if it was required for the function. These files are also linked from within this manual for demonstration and source code viewing.

    For the more advanced programmers we included the same Web Services functions as mininal code versions which are completely free of example values and comments.

    The folder 'inc' contains required files which need to be included to execute the OMS Web Services. The folder '4.3.10' and '5.1.2' contain PHP version specific files, so the OMS Web Services will run on servers where PHP4 or PHP5 is installed. Which of those folders is used depends on the PHP version installed on your system/server and is decided automatically by the PHP version check function in the file config.php.
    The file inc/config.php must be included in each file where you use the OMS Web Services as it contains your login and password to the Open Music Source database. If you haven't modified this file yet it will contain the login and password to the demo database and no domain information. You will need to modify this file as described in your OMS Registration E-Mail.

    # Go back to top



    1.2 Installation

    1. Register your platform/label account
    2. Download the code package and extract to a folder on your harddrive
    3. Open the file /inc/config.php with a code-/text editor of your choice
    4. Modify the file by inserting: your login, your password and your domain name (see also the E-Mail you got from us after registration)
    5. Upload the complete folder to your server, preserving the given folder structure
    When you've done everything correctly you should be able execute the functions. Test it, for example open the file get_artist.php on your server and see if you get data back from the OMS database. If you're having problems you should first of all use the debug function.

    # Go back to top



    1.3 Understanding the basics
    First of all you should have a look at a more simple function to understand the basics of executing a OMS Web Service. Please open the source code of get_artist.php. Note that we are using a "blue colored" file from the code package (see above for the meaning of colors).

    Let's have a look at the complete source code, step by step (make sure to read the inserted comment boxes carefully).

    <?

    /************************************************************************
    *
    *                  OMS Web Service Functions 1.3
    *                  -----------------------------
    *
    *     Copyright:   (C) 2006 moving primates GmbH
    *      Function:   GetArtist
    *   Description:   Gets the basic artist data of one artist.
    *   Change Date:   28/Feb/2006
    *
    *************************************************************************


    ↑ The first lines of the PHP document telling some description about the function. You will find in every example document.

    *   REQUIRED ELEMENTS:
    *
    *   The following elements must be send with the request:
    *
    *   - ArtistID
    *   - Fieldlist


    ↑ Tells you about the required elements of the Web Service. Note that at least one required element applies for every Web Service function, here it's two of them: ArtistID and Fieldlist.

    ArtistID: As get_artist is a function which gets the data from one specific artist, it is required to set from which artist to get the data. This is done with the required element ArtistID as all artists (as well as songs, reviews, et cetera) are assigned to one unique identifier.

    Fieldlist: Fieldlist makes it possible to request your own selection of elements from the Web Services. For example you would like to request ArtistName and ArtistGenreName but you do not need PostalCode, City or CountryName, so you can leave it out of the request. The Fieldlist must contain at least one Field Element as a child element.

    You will find more information about the elements (in fact there is a third) later on in this manual.

    *   FIELD ELEMENTES:
    *   
    *   The following are Field elements which define what you get back from
    *   the Web Service function. They must be named "Field", their value
    *   must be the exact name of the following enumeration and they must be
    *   created as a child element of "Fieldlist".
    *
    *   Field elements are optional, however it is required that you
    *   create at least one; their send order is irrelevant.
    *
    *   - ArtistName
    *   - ArtistURL
    *   - Website
    *   - MusicalInfluence
    *   - SoundsLike
    *   - ArtistPictureExists
    *   - FirstOnlineDate
    *   - PostalCode
    *   - City
    *   - CountryID
    *   - CountryCode
    *   - CountryName
    *   - ArtistGenreID
    *   - ArtistGenreParentID
    *   - ArtistGenreTopParentID
    *   - ArtistGenreName
    *   - ArtistParentGenreName
    *   - ArtistTopParentGenreName


    ↑ The list of Field Elements which can be requested for this OMS Web Service. You will find this list inside the function's comments whenever Fieldlist is part of the list of required elements which is not always the case as some Web Services just get you a small ammount of data for which it would not make sense to use Field Elements.

    Enough with the comments now, let's get to the action!

    $ArtistID = "42028"; // Example ID from an artist

    ↑ As previously mentioned, ArtistID is a required element for this Web Service function, therefore we declare this example ID.

    include("inc/config.php"); // Example path, point it to your config.php

    ↑ Including the file config.php using the default path, look under package content for details of that file.

    $dom = create_document();
    $root = create_root_element($dom, "OMS");
    create_element_attribute($root, "xmlns", $oms_cfg['artist_data_xmlns'] . "/GetArtist");

    ↑ Defines the path to the XSD files for the Web Services. In our example codes (and the minimal code) we already inserted the correct path so don't change anything here.

    The XSDs are available at http://xmlns.openmusicsource.net/1.3 You might find them useful when you advance working with the OMS codes as you can see many things at a glance.

    // Here we are defining the FIELDLIST elements (requesting all available)

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistName");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistURL");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "Website");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "MusicalInfluence");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "SoundsLike");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistPictureExists");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "FirstOnlineDate");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "PostalCode");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "City");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "CountryID");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "CountryCode");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "CountryName");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistGenreID");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistGenreParentID");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistGenreTopParentID");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistGenreName");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistParentGenreName");
    add_child_element($el_fields_list, $el_field);

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "ArtistTopParentGenreName");
    add_child_element($el_fields_list, $el_field);


    ↑ Definition of the Field elements for Fieldlist. In all of our example codes files we request all available Field elements.

    Which fields are going to be requested depends on your descision of what would make sense on your website. If you don't need a Field element you can simply leave it out by deleting the (3) lines of code.

    For example you don't need the country name of the artist, so delete the lines:

    $el_field = create_element($dom, "Field");
    set_element_value($dom, $el_field, "CountryName");
    add_child_element($el_fields_list, $el_field);

    The procedure for each element is always the same: the first line creates an element, the second line declares its value and the third line adds it to the Fieldlist as a child element.

    // Preparing the XML which is going to be send

    add_child_element($root, $el_artist_id);
    add_child_element($root, $el_fields_list);

    $xml_str = dump_to_string($dom);

    $par = array("String_1" => $oms_cfg['ws_login'],
                
    "String_2" => $oms_cfg['ws_password'],
                
    "String_3" => $xml_str );


    ↑ Before calling the Web Service function GetArtist we need to put all created elements together with your login and password into an array ($par).

    // Executing the Web Service function "GetArtist"

    $GetArtist = ProcessWSCall($oms_cfg['artist_data_ws_url'], "GetArtist", $par, $oms_cfg['artist_data_xmlns']);


    ↑ Here we execute the Web Service function GetArtist and put the array we get back into $GetArtist. We now have the data we requested and can read it out the way we want on our website. Have a look in the example codes, we created the code for variable assignment and output there already.


    Finally let's have a look on the structure of the code. ↓

    # Go back to top



    1.4 The three elements: Required, Field, Filter

    Beside the required elements (ArtistID and Fieldlist) and the field elements (ArtistName, Website, et cetera), there is another type of element which hasn't been covered in 1.3. It called filter element and you will find it in functions where there's a lot of data coming back and sorting/filtering makes sense. See GetArtistList for example - this function searches the complete OMS artist catalogue. You can use various filter elements to limit the output by genres, postal codes, countries and so on.

    So again, envision the following: If you understand these basics from 1.3 and 1.4 you should be able to work with all the other Web Services as well, the technique remains the same. How you output the data and design the webpages arround it is completely up to you.

    # Go back to top



    2. The Web Service Functions

    2.1.1 GetArtist
    Execute this function | View the source code

    This function gets the basic information about one artist at a time. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:
    These are the available field elements for this function:

    # Go back to top



    2.1.2 GetArtistArticle
    Execute this function | View the source code

    Gets the artist description, history, press news and additional info texts of one artist. It's possible to request the artist info in different languages if those are available.


    These are the required elements for this function:

    These are the available field elements for this function:

    These are the available filter elements for this function:

    # Go back to top



    2.1.3 GetArtistConcerts
    Execute this function | View the source code

    This function gets all concert dates of one artist and its related concert information. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    These are the available field elements for this function:

    # Go back to top



    2.1.4 GetArtistList
    Execute this function | View the source code

    This function gets the basic information about all OMS artists which are online and included inside your artist pool. You can set various filter for this function to filter and limit the output.


    These are the required elements for this function:

    These are the available field elements for this function:

    These are the available filter elements for this function:

    # Go back to top



    2.1.5 GetArtistRadio
    Execute this function | View the source code

    This function will tell you if a lofi-/hifi-stream of MP3s from an artist is available. The artist account must be online and exist in your artist pool for this function to get any data.


    This is the only required elements for this function:

    # Go back to top



    2.1.6 GetArtistRating
    Execute this function | View the source code

    This function gets the rating score which has been stored for this artist. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    # Go back to top



    2.1.7 GetArtistReviews
    Execute this function | View the source code

    This function gets all reviews and related information of one artist. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    These are the available field elements for this function:

    # Go back to top



    2.1.8 GetArtistSongs
    Execute this function | View the source code

    Gets the data of all uploaded songs of one artist. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    These are the available field elements for this function:

    # Go back to top



    2.1.9 GetBandMembers
    Execute this function | View the source code

    Gets the data of all entered bandmembers of one artist. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    These are the available field elements for this function:

    # Go back to top



    2.2.1 GetConcert
    Execute this function | View the source code

    This function gets the data from one concert date entry and the basic info of the related artist. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    These are the available field elements for this function:

    # Go back to top



    2.2.2 GetConcertList
    Execute this function | View the source code


    This function gets the data from all concerts available in the OMS database. Additionally it gets the basic data from the related artist. The artist account must be online and exist in your artist pool for this function to get any data.

    These are the required elements for this function:

    These are the available field elements for this function:

    These are the available filter elements for this function:

    # Go back to top



    2.2.3 GetSong
    Execute this function | View the source code


    Gets the data of one specific song. The artist account which is related to the song must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    These are the available field elements for this function:

    # Go back to top



    2.2.4 GetSongArticle
    Execute this function | View the source code

    Gets the song description text of one song. It's possible to request the text in different languages if those are available.


    These are the required elements for this function:

    These are the available field elements for this function:

    These are the available filter elements for this function:

    # Go back to top



    2.2.5 GetSongCharts
    Execute this function | View the source code

    This function will get a song chart list which is ordered by plays or downloads based on your platform. Additionally it will get the basic data about the related artists. You can use a filter to show genre specific charts.


    These are the required elements for this function:

    These are the available field elements for this function:

    These are the available filter elements for this function:

    # Go back to top



    2.2.6 GetSongList
    Execute this function | View the source code

    This function gets the data of all songs of the OMS database which are online and which related artists are online and included inside your artist pool. You can set various filter for this function to filter and limit the output.


    These are the required elements for this function:

    These are the available field elements for this function:

    These are the available filter elements for this function:

    # Go back to top



    2.2.7 IsArtistMyPayingCustomer
    Execute this function | View the source code

    Checks if the artist has an active paid service running on your platform. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    # Go back to top



    2.2.8 SendEmailToArtist
    Execute this function | View the source code

    Sends an e-mail to one artist. The artist account must be online and exist in your artist pool for this function to get any data.


    These are the required elements for this function:

    # Go back to top



    2.2.9 GetArtistIDByURL
    Execute this function | View the source code

    Gets back the ID of an artist by sending in the Artist URL. This function makes sense if you would like to build short URLs like http://www.yourdomain.com/Artistname and automatically refer visitors to the artistpage.


    These are the required elements for this function:

    # Go back to top



    3. Common PHP and Web Service Functions
    These are simple functions which you will probably use quite frequently on your website. Part of them are just pure PHP code, some have OMS Web Services built in. For a demonstration of these functions visit click here or open the file common_functions.php which you will find inside the code package you can download from our website here.



    4. Javascript Functions

    4.1 Including the OMS-Javascript
    In order to display music-links for the visitors of your website to play and download songs, you will first of all need to include and modify the following javascript on your website. This javascript needs to be included on everypage where you want to display stream- or download-links.

    Add the following script and your partner ID:

    <script type="text/javascript" language="JavaScript" src="http://mp3.openmusicsource.net/stream/1.1/js_stream_link.php?oms_partner_id=PARTNER_ID"></script>

    Modify the code by replacing PARTNER_ID with your actual partner ID.
    If you don't know your partner ID you can look it up by loging into your administration area here.

    # Go back to top



    4.2 Stream-, Download- and Buy-Links
    The field elements LoFiLink, HiFiLink and DownloadLink contain the code which define the link. You will get those field elements from various OMS Web Services (such as GetSong). Take this code and put it on your page as javascript (you need to add the surrounding script tags) wherever you want the links to appear. (In case the song you display is a paid download, the field element DownloadLink will return a buy-link.)

    The code you put on your page should look like so (song ID is imaginery):
    <script type="text/javascript" language="JavaScript">
        show_download_link(123456);
    </script>
    Furthermore, you should define the looks of your links. You can place the following configuration in your general page header and/or define each link individually.


    Add the following code to configure the look of your lofi-, hifi- and download links:
    <script type="text/javascript" language="JavaScript">

        // LOW QUALITY LINKS

        _oms_lofi_txt = 'LINKNAME';
        _oms_lofi_opts['OPTION'] = 'SETTING';               // remove this line if you don't use options
        _oms_lofi_opts['OPTION'] = 'SETTING';               // on the other hand add as many as you need


        // HIGH QUALITY LINKS

        _oms_hifi_txt = 'LINKNAME';
        _oms_hifi_opts['OPTION'] = 'SETTING';               // remove this line if you don't use it


        // DOWNLOAD LINKS

        _oms_download_txt = 'LINKNAME';
        _oms_download_opts['OPTION'] = 'SETTING';   // remove this line if you don't use options

    </script>
    Modify it as follows: Add the following code to configure the look of your the buy-links for payable downloads:
    <script type="text/javascript" language="JavaScript">

        // BUY LINKS

        _oms_buy_price_position = 'PRICE_POSITION';
        _oms_buy_price_opts['OPTION'] = 'SETTING';     // remove this line if you don't use options

        _oms_buy_txt = 'TXT_NAME';
        _oms_buy_txt_type = 'TXT_TYPE';
        _oms_buy_txt_opts['OPTION'] = 'SETTING';        // remove this line if you don't use options

    </script>

    # Go back to top



    4.3 Playlist-Streams for Artists
    This is how you can display a playlist-stream of all tracks of one artist.

    The code you put on your page should look like so (song ID is imaginery):
    <script type="text/javascript" language="JavaScript">

        opts = new Array();                          // you can delete these lines...
        opts['OPTION'] = 'SETTING';         // if you don't use any options, or also...
        opts['OPTION'] = 'SETTING';         // add as many options you need.

        show_play_all_link(ARTIST_ID, 'LINKTYPE', 'LINKNAME', opts);

    </script>

    # Go back to top



    4.4 Playlist-Streams for Chart-Ranges
    This functions displays a playlist-stream (lofi or hifi) for a selected chartrange of your choice (e.g. display a hifi-stream for the current top 10 downloaded songs of your rock chart).

    Note you need to include the OMS Javascript for this purpose.

    Include this javascript code:
    <script type="text/javascript" language="JavaScript">

        opts = new Array();                          // you can delete these lines...
        opts['OPTION'] = 'SETTING';         // if you don't use any options, or also...
        opts['OPTION'] = 'SETTING';         // add as many options you need.

        show_chart_link(GENRE_ID, 'CHARTTYPE', 'QUALITY', 'START', 'END', 'LINKNAME', opts);

    </script>
    Modify it as follows:

    # Go back to top



    4.5 Displaying Pictures
    At the moment there are two different kind of images which can be read out from the OMS database: artist and song pictures. We offer a tool which lets you resize these pictures on the fly. Modify the following URL to fit your needs and use it as the source attribute of an image tag.

    http://pics.openmusicsource.net/cgi-bin/get_pic.cgi?type=__&id=__&max_size=__&max_width=__&max_height=__

    You will need to replace the blank spaces (underscores) beside the variables:

    Let's say we have an artist picture of 295 x 295 pixels in size and would like to display it with 150 x 150, 100 x 100 and 50 x 50 pixels, then we would use this code as our image's source:

    http://pics.openmusicsource.net/cgi-bin/get_pic.cgi?type=artist&id=35748&max_size=max_ratio&max_width=150&max_height=150

    http://pics.openmusicsource.net/cgi-bin/get_pic.cgi?type=artist&id=35748&max_size=max_ratio&max_width=100&max_height=100

    http://pics.openmusicsource.net/cgi-bin/get_pic.cgi?type=artist&id=35748&max_size=max_ratio&max_width=50&max_height=50


    Resize 150 x 150Resize 100 x 100Resize 50 x 50

    # Go back to top



    5. Appendix

    5.2 Country List
    Here you have the list of countries which are existing inside the OMS network.

    Country ID     Country Code     Country Name
    3 AF Afghanistan
    4 AL Albania
    5 DZ Algeria
    6 AS American Samoa
    7 AD Andorra
    8 AO Angola
    9 AI Anguilla
    10 AQ Antarctica
    11 AG Antigua and Barbuda
    12 AR Argentina
    13 AM Armenia
    14 AW Aruba
    1 AU Australia
    2 AT Austria
    15 AZ Azerbaijan
    16 BS Bahamas
    17 BH Bahrain
    18 BD Bangladesch
    19 BB Barbados
    24 BY Belarus
    20 BE Belgium
    21 BZ Belize
    22 BJ Benin
    23 BM Bermudas
    25 BT Bhutan
    26 BO Bolivia
    27 BA Bosnia-Herzegowina
    28 BW Botswana
    29 BV Bouvet Island
    30 BR Brazil
    31 BN Brunei
    32 BG Bulgaria
    33 BF Burkina Faso
    34 BI Burundi
    42 KH Cambodia
    43 CM Cameroon
    35 CA Canada
    44 CV Cape Verde
    41 KY Cayman Islands
    38 CF Central African Republic
    36 CL Chile
    39 CN China
    48 CX Christmas Island
    53 CC Cocos Islands
    46 CO Colombia
    47 KM Comoros
    49 CG Congo
    40 CK Cook Islands
    45 CR Costa Rica
    37 CI Cote d-Ivoire
    50 HR Croatia
    52 CY Cyprus
    51 CZ Czech Republic
    54 DK Denmark
    55 DC District of Columbia
    56 DM Dominica
    57 DO Dominican Republic
    58 DJ Dschibuti
    64 TP East-Timor
    59 EC Ecuador
    60 EG Egypt
    63 SV El Salvador
    61 GQ Equatorial Guinea
    65 ER Eritrea
    66 EE Estonia
    62 GQ Ethiopia
    68 FK Falkland Islands
    67 FO Faroe Islands
    69 FJ Fidschi
    70 FI Finland
    71 FR France
    72 GF French Guiana
    73 PF French Polynesia
    74 GA Gabun
    76 GM Gambia
    77 GE Georgia
    75 DE Germany
    78 GH Ghana
    79 GI Gibraltar
    82 GR Greece
    80 GL Greenland
    81 GD Grenada
    83 GP Guadeloupe
    84 GU Guam
    85 GT Guatemala
    86 GN Guinea
    87 GW Guinea-Bissau
    88 GY Guyana
    90 HT Haiti
    91 HI Hawaii
    92 HN Honduras
    93 HK Hongkong
    89 HU Hungary
    99 IS Iceland
    94 IN India
    95 ID Indonesia
    96 IQ Irak
    97 IR Iran
    98 IE Ireland
    100 IL Israel
    101 IT Italy
    102 JM Jamaika
    103 JP Japan
    104 JO Jordan
    105 KZ Kazakhstan
    106 KE Kenya
    107 KI Kiribati
    108 CU Kuba
    109 KW Kuwait
    110 LA Laos
    112 LV Latvia
    113 LB Lebanon
    111 LS Lesotho
    114 LR Liberia
    115 LY Libya
    116 LI Liechtenstein
    117 LT Lithuania
    118 LU Luxembourg
    119 MO Macao
    131 MK Macedonia
    120 MG Madagascar
    121 MW Malawi
    122 MY Malaysia
    123 MV Maldives
    124 ML Mali
    125 MT Malta
    127 MQ Martinique
    128 MR Mauritania
    129 MU Mauritius
    130 YT Mayotte
    132 MX Mexico
    133 FM Micronesia
    134 MC Monaco
    135 MN Mongolia
    136 MS Montserrat
    126 MA Morocco
    137 MZ Mozambique
    138 MM Myanmar
    139 NA Namibia
    140 NR Nauru
    141 NP Nepal
    146 NL Netherlands
    145 AN Netherlands Antilles
    142 NC New Caledonia
    143 NZ New Zealand
    144 NI Nicaragua
    147 NE Niger
    148 NG Nigeria
    150 NF Norfolk Island
    149 KP North Korea
    151 NO Norway
    152 OM Oman
    153 PK Pakistan
    154 PW Palau
    155 PA Panama
    156 PG Papua-Neuguinea
    157 PY Paraguay
    158 PE Peru
    159 PH Philippines
    160 PN Pitcairn
    161 PL Poland
    162 PT Portugal
    163 PR Puerto Rico
    164 QA Qatar
    165 RE Reunion
    166 RI Rhode Island
    169 RO Romania
    168 RW Ruanda
    167 RU Russia
    172 LC Saint Lucia
    174 ZM Sambia
    175 WS Samoa
    176 SM San Marino
    177 ST Sao Tome und Principe
    178 SA Saudi Arabia
    179 SCO Scotland
    182 SN Senegal
    183 SC Seychelles
    184 SL Sierra Leone
    185 ZW Simbabwe
    186 SG Singapore
    187 SK Slovakia
    188 SI Slovenia
    173 SB Solomon Islands
    189 SI Somalia
    170 ZA South Africa
    171 KR South Korea
    190 ES Spain
    191 LK Sri Lanka
    192 SH St. Helena
    193 SD Sudan
    194 SR Suriname
    195 SZ Swasiland
    180 SE Sweden
    181 CH Switzerland
    196 SY Syria
    199 TW Taiwan
    198 TJ Tajikistan
    200 TZ Tansania
    201 TH Thailand
    202 TG Togo
    203 TO Tonga
    204 TT Trinidad and Tobago
    205 TD Tschad
    206 TN Tunisia
    197 TR Turkey
    208 TM Turkmenistan
    207 TC Turks and Caicos Islands
    209 TV Tuvalu
    210 US USA
    212 UG Uganda
    213 UA Ukraine
    215 AE United Arab Emirates
    211 GB United Kingdom
    214 UY Uruguay
    216 UZ Uzbekistan
    217 VU Vanuatu
    218 VA Vatican City
    219 VE Venezuela
    222 VN Vietnam
    220 VG Virgin Islands
    221 VI Virgin Islands (USA)
    223 MD Vltava
    224 WF Wallis and Futuna Islands
    225 EH Western Sahara
    226 YE Yemen
    227 YU Yugoslavia
    228 ZR Zaire

    # Go back to top



    5.3 Genre List
    Genre ID   Parent ID     Top Parent ID   Genre Name     Complete Genre Name
                 
    1 1 1 Electric Electric    
    2 1 1 Acid Electric Acid  
    3 1 1 Ambient Electric Ambient  
    4 3 1 Breakbeat Electric Breakbeat  
    5 3 1 Darkside Electric Breakbeat Darkside
    6 3 1 Jungle Electric Breakbeat Jungle
    7 3 1 Ragga Electric Breakbeat Ragga
    8 1 1 Dance Electric Dance  
    9 8 1 Club Electric Dance Club
    10 8 1 Disco Electric Dance Disco
    11 8 1 Dancehall Electric Dance Dancehall
    12 1 1 Drum n Bass Electric Drum n Bass  
    13 12 1 Future Funk Electric Drum n Bass Future Funk
    14 12 1 Jump up Electric Drum n Bass Jump up
    15 1 1 Electro Electric Electro  
    16 1 1 Retro Electric Retro  
    17 1 1 Experimental Electric Experimental  
    18 1 1 House Electric House  
    19 18 1 Acid House Electric House Acid House
    20 18 1 Funk House Electric House Funk House
    21 18 1 Garage Electric House Garage
    22 18 1 Progressive House Electric House Progressive House
    23 18 1 Speedgarage Electric House Speedgarage
    24 1 1 Industrial Electric Industrial  
    25 24 1 Industrial Dance Electric Industrial Industrial Dance
    26 24 1 Darkwave Electric Industrial Darkwave
    27 24 1 EBM Electric Industrial EBM
    28 24 1 Industrial Rock Electric Industrial Industrial Rock
    29 1 1 Techno Electric Techno  
    30 29 1 Detroit Electric Techno Detroit
    31 29 1 Dub Gabber Electric Techno Dub Gabber
    32 29 1 Hardcore Electric Techno Hardcore
    33 29 1 Illbient Electric Techno Illbient
    34 29 1 Minimal Electric Techno Minimal
    35 29 1 Rave Electric Techno Rave
    36 29 1 Tribal Electric Techno Tribal
    37 1 1 Trance Electric Trance  
    38 37 1 Goa Electric Trance Goa
    39 37 1 Hardtrance Electric Trance Hardtrance
    40 37 1 Dream Electric Trance Dream
    41 37 1 Tech. Electric Trance Tech.
    90 86 47 Deutschpunk Rock Punkrock Deutschpunk
    43 1 1 Trip Hop Electric Trip Hop  
    44 1 1 New Age Electric New Age  
    45 1 1 Gothic Electric Gothic  
    46 1 1 Easy Listening Electric Easy Listening  
    47 47 47 Rock Rock    
    48 47 47 Guitar Rock Rock Guitar Rock  
    49 48 47 Folk rock Rock Guitar Rock Folk rock
    50 48 47 Christl. Rock Rock Guitar Rock Christl. Rock
    51 48 47 Gothic Rock Rock Guitar Rock Gothic Rock
    91 86 47 Funpunk Rock Punkrock Funpunk
    53 48 47 Southern Rock Rock Guitar Rock Southern Rock
    54 48 47 Art Rock Rock Guitar Rock Art Rock
    55 48 47 Mainstream Rock Rock Guitar Rock Mainstream Rock
    56 48 47 Grunge Rock Guitar Rock Grunge
    57 48 47 Rock n Roll Rock Guitar Rock Rock n Roll
    58 48 47 Psychedelic Rock Rock Guitar Rock Psychedelic Rock
    59 48 47 Soft Rock Rock Guitar Rock Soft Rock
    60 48 47 Glam Rock Rock Guitar Rock Glam Rock
    61 48 47 Country Rock Rock Guitar Rock Country Rock
    62 48 47 Independent Rock Guitar Rock Independent
    63 48 47 Crossover Rock Guitar Rock Crossover
    64 48 47 Rockabilly Rock Guitar Rock Rockabilly
    65 47 47 Alternative Gitmusic Rock Alternative Gitmusic  
    66 65 47 Grunge Rock Alternative Gitmusic Grunge
    67 65 47 Britpop Rock Alternative Gitmusic Britpop
    68 65 47 EMO Rock Alternative Gitmusic EMO
    69 65 47 Folkpunk Rock Alternative Gitmusic Folkpunk
    70 65 47 Indie Rock Alternative Gitmusic Indie
    71 65 47 Experimental Rock Alternative Gitmusic Experimental
    72 65 47 Unclassified Rock Alternative Gitmusic Unclassified
    73 47 47 Metal Rock Metal  
    74 73 47 Black Metal Rock Metal Black Metal
    75 73 47 Death Metal Rock Metal Death Metal
    76 73 47 Doom Metal Rock Metal Doom Metal
    77 73 47 Gothic Metal Rock Metal Gothic Metal
    78 73 47 Hardcore Metal Rock Metal Hardcore Metal
    79 73 47 Industrial Metal Rock Metal Industrial Metal
    80 73 47 Progressive Metal Rock Metal Progressive Metal
    81 73 47 Speed Metal Rock Metal Speed Metal
    82 73 47 White Metal Rock Metal White Metal
    83 73 47 80th Metal Rock Metal 80th Metal
    84 73 47 Heavy Metal Rock Metal Heavy Metal
    173 145 145 Gamemusic Classic/Filmmusic Gamemusic  
    86 47 47 Punkrock Rock Punkrock  
    87 86 47 Hardcore Rock Punkrock Hardcore
    88 86 47 LoFi Rock Punkrock LoFi
    89 86 47 Oldschool Rock Punkrock Oldschool
    85 73 47 Trash Metal Rock Metal Trash Metal
    92 86 47 Cowpunk Rock Punkrock Cowpunk
    93 86 47 Ska Rock Punkrock Ska
    94 86 47 Straight edge Rock Punkrock Straight edge
    95 47 47 Deutsch-Rock Rock Deutsch-Rock  
    96 47 47 Hardrock Rock Hardrock  
    97 47 47 Progressive Rock Rock Progressive Rock  
    98 98 98 Pop Pop    
    99 98 98 Oldschool Pop Oldschool  
    100 98 98 Acoustic Pop Pop Acoustic Pop  
    101 98 98 Power Pop Pop Power Pop  
    102 98 98 Europop Pop Europop  
    103 98 98 PopRock Pop PopRock  
    104 98 98 Softpop Pop Softpop  
    105 98 98 Funk Pop Funk  
    106 98 98 Beat Music Pop Beat Music  
    107 107 107 Blues/R n B/Jazz Blues/R n B/Jazz    
    108 107 107 Gospel Blues/R n B/Jazz Gospel  
    109 107 107 Blues Blues/R n B/Jazz Blues  
    110 109 107 Blues Rock Blues/R n B/Jazz Blues Blues Rock
    111 109 107 Acoustic Blues Blues/R n B/Jazz Blues Acoustic Blues
    112 109 107 Electric Blues Blues/R n B/Jazz Blues Electric Blues
    113 107 107 Jazz Blues/R n B/Jazz Jazz  
    114 113 107 Acid Jazz Blues/R n B/Jazz Jazz Acid Jazz
    115 113 107 Bebop Blues/R n B/Jazz Jazz Bebop
    116 113 107 Dixie Blues/R n B/Jazz Jazz Dixie
    117 113 107 Freejazz Blues/R n B/Jazz Jazz Freejazz
    118 113 107 Fusion Blues/R n B/Jazz Jazz Fusion
    119 113 107 Latin Blues/R n B/Jazz Jazz Latin
    120 113 107 Ragtime Blues/R n B/Jazz Jazz Ragtime
    121 113 107 Smooth Blues/R n B/Jazz Jazz Smooth
    122 113 107 Jazz Rock Blues/R n B/Jazz Jazz Jazz Rock
    123 107 107 R n B Blues/R n B/Jazz R n B  
    124 107 107 Soul Blues/R n B/Jazz Soul  
    125 107 107 Swing Blues/R n B/Jazz Swing  
    126 125 107 Big Band Blues/R n B/Jazz Swing Big Band
    127 125 107 Neoswing Blues/R n B/Jazz Swing Neoswing
    128 128 128 World/Folk World/Folk/Traditionall    
    129 128 128 Folk World/Folk/Traditionall Folk  
    130 129 128 Folkrock World/Folk/Traditionall Folk Folkrock
    131 129 128 Acoustic World/Folk/Traditionall Folk Acoustic
    132 129 128 Traditional World/Folk/Traditionall Folk Traditional
    133 128 128 Reggae World/Folk/Traditionall Reggae  
    134 128 128 Latin World/Folk/Traditionall Latin  
    135 128 128 Worldfusion World/Folk/Traditionall Worldfusion  
    136 128 128 African World/Folk/Traditionall African  
    137 128 128 Asian World/Folk/Traditionall Asian  
    138 128 128 German Folkmusic World/Folk/Traditionall German Folkmusic  
    139 128 128 Mittelalter World/Folk/Traditionall Mittelalter  
    140 128 128 Country World/Folk/Traditionall Country  
    141 140 128 Bluegrass World/Folk/Traditionall Country Bluegrass
    142 140 128 Cajun/Zydeco World/Folk/Traditionall Country Cajun/Zydeco
    143 128 128 Chansons World/Folk/Traditionall Chansons  
    144 128 128 Ethnic / Folk World/Folk/Traditionall Ethnic / Folk  
    145 145 145 Classic/Filmmusic Classic/Filmmusic    
    146 145 145 Chor Classic/Filmmusic Chor  
    147 145 145 Chamber Orchestra Classic/Filmmusic Chamber Orchestra  
    148 145 145 Singing Classic/Filmmusic Singing  
    149 145 145 Symphonic Classic/Filmmusic Symphonic  
    150 145 145 Contemporary Classic/Filmmusic Contemporary  
    151 145 145 Filmmusic Classic/Filmmusic Filmmusic  
    152 145 145 Ballet Classic/Filmmusic Ballet  
    153 145 145 Comedy Classic/Filmmusic Comedy  
    154 145 145 Instrumental Classic/Filmmusic Instrumental  
    155 145 145 Musical Classic/Filmmusic Musical  
    156 145 145 Opera Classic/Filmmusic Opera  
    157 145 145 Operetta Classic/Filmmusic Operetta  
    158 145 145 Spoken Word Classic/Filmmusic Spoken Word  
    159 145 145 Theatre Classic/Filmmusic Theatre  
    160 160 160 HipHop/Rap Hip Hop    
    161 160 160 Alternative HipHop Hip Hop Alternative HipHop  
    162 160 160 German HipHop Hip Hop German HipHop  
    163 160 160 Oldschool Hip Hop Oldschool  
    164 160 160 East coast Hip Hop East coast  
    165 160 160 West coast Hip Hop West coast  
    166 160 160 South/west Hip Hop South/west  
    167 160 160 Gangsta Hip Hop Gangsta  
    170 160 160 Freestyle Hip Hop Freestyle  
    171 160 160 Rap Hip Hop Rap  
    172 172 172 Sonstiges Sonstiges    

    # Go back to top



    6. Troubleshooting

    6.1 Debug Mode for Web Services
    If you're having difficulties executing our Web Services you may want to turn on the debug mode for the Web Service function you are using. You can enable debug mode for all Web Service functions by adding ",1" (comma and one) to the end of the function call like this:

    $GetArtistSongs = ProcessWSCall($oms_cfg['artist_data_ws_url'], "GetArtistSongs", $par, $oms_cfg['artist_data_xmlns'],1);

    When now executing the function again with debug mode enabled, you'll get back detailed information telling you if the Web Service has been executed correctly or not and which data is eventually missing or false for proper execution.

    # Go back to top



      Imprint | Copyright © moving primates GmbH, 2003-2013