Ramblings of Daniel Graziotin




iProtal is a free, opensource automatic tool for adjusting Metal and Progressive Rock / Metal genre of iTunes songs.
It scans an iTunes Library of songs, or the currently highlighted / selected songs in iTunes, and automatically fetches the genre
for all the artists.

At the end of this page you can find some screenshots

Currently, it fetches the genre from:

At the current state the program only works in Terminal mode, so everything is displayed as scary text. The author is not planning to write a graphical user interface now, but welcomes anybody who offers to write one.

The latest version is available here [zip archive].
The official GitHub page is: https://github.com/dgraziotin/iProtal


  1. Install py-appscript
    First, install py-appscript as it is required. From the terminal, run 

    sudo easy_install appscript

    Other ways to install it are available on the official website

  2. Run the program’s main.py. If you are not confident with the terminal, an easy way is to open the “Terminal” application of Mac OS X, type “python ” without the double quotes (followed by a space, as you see), drag the file src/main.py in the terminal and hit enter.
    Run iProtal 1
    Run iProtal 2

For any selected iTunes song (or the whole iTunes Library), the program fetches
the genre from the fetchers in the order listed above. The possible cases are:

  1. No genre is found
    The tracks for which no genre could be found are stored in memory and displayed
    before exiting the program. 

    iProtal No Genre Found
  2. A Genre is found
    The tracks genre is automatically updated without user interaction. 

    iProtal update iTunes genre
  3. More genres are found
    This happens with Enciclopaedia Metallum when more artists are found under the
    same name. The program delays the processing of the related songs and continues
    with the next group. Before exiting, iProtal asks the user which genre is more
    suitable for the tracks. 

    iProtal Multiple Genres found

The program won’t work:

  1. In case of bugs
    Please drop a mail to d AT danielgraziotin DOT it, describing what
    happened, including the program output. The author will fix the bugs
  2. The Artist name is not the same as the one stored in the remote fetchers
    Please try to use official names when naming Artists in iTunes. “F4tesWarn1ng”
    is not the same as “Fates Warning”. The program does not care about upper cases.

Send a mail to d AT danielgraziotin DOT it and suggest a new source for getting
genres. The author will be happy to add it in his very scarce free time.

Send a mail to d AT danielgraziotin DOT it.

Ramblings of Daniel Graziotin

About Author


Dr. Daniel Graziotin received his PhD in computer science, software engineering at the Free University of Bozen-Bolzano, Italy. His research interests include human aspects in empirical software engineering with psychological measurements, Web engineering, and open science. He researches, publishes, and reviews for venues in software engineering, human-computer interaction, and psychology. Daniel is the founder of the psychoempirical software engineering discipline and guidelines. He is associate editor at the Journal of Open Research Software, academic editor at the Research Ideas and Outcomes (RIO) journal, and academic editor at the Open Communications in Computer Science journal. He is the local coordinator of the Italian Open science local group for the Open Knowledge Foundation. He is a member of ACM, SIGSOFT, and IEEE.