From: <hik...@us...> - 2010-08-30 23:21:13
|
Revision: 5832 http://supertuxkart.svn.sourceforge.net/supertuxkart/?rev=5832&view=rev Author: hikerstk Date: 2010-08-30 23:21:06 +0000 (Mon, 30 Aug 2010) Log Message: ----------- 1) Fixed .music XML files and reading code to be more in line with our 'standard' way of using xml files. 2) Some code cleanup. 3) Added support for specifying tracks in .music files again. Modified Paths: -------------- main/trunk/data/music/Boom_boom_boom.music main/trunk/data/music/BradSucks-OutOfIt.music main/trunk/data/music/CaribbeanMusic.music main/trunk/data/music/ChillCarrier-Druckverlust.music main/trunk/data/music/Penguin_Party.music main/trunk/data/music/SkyVibe-HighFrequency.music main/trunk/data/music/SymphonyNo5.music main/trunk/data/music/TheDeadRocks-EasyJob.music main/trunk/data/music/TheDeadRocks-GreenSecretFromAmazonia.music main/trunk/data/music/TheDeadRocks-OneMillionDollar.music main/trunk/data/music/dance_cleopatra.music main/trunk/data/music/kart_grand_prix.music main/trunk/data/music/lose_theme.music main/trunk/data/music/main_theme.music main/trunk/data/music/win_theme.music main/trunk/data/tracks/jungle/amazon_jungle.music main/trunk/data/tracks/mines/West.music main/trunk/data/tracks/secretgarden/garden.music main/trunk/data/tracks/snowmountain/Snowy.music main/trunk/data/tracks/startrack/Ethereal_Spectrum.music main/trunk/src/audio/music_information.cpp main/trunk/src/audio/music_information.hpp Modified: main/trunk/data/music/Boom_boom_boom.music =================================================================== --- main/trunk/data/music/Boom_boom_boom.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/Boom_boom_boom.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,4 @@ -<music> - <title value="Boom boom boom" /> - <!-- <enable-fast #t /> --> - <composer value="Matt Thomas" /> - <file value="Boom_boom_boom.ogg"/> -</music> +<?xml version="1.0"?> +<music title = "Boom boom boom" + composer = "Matt Thomas" + file = "Boom_boom_boom.ogg"/> Modified: main/trunk/data/music/BradSucks-OutOfIt.music =================================================================== --- main/trunk/data/music/BradSucks-OutOfIt.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/BradSucks-OutOfIt.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,7 +1,6 @@ -<music> - <title value="Out of it" /> - <composer value="Brad Sucks" /> - <file value="BradSucks-OutOfIt.ogg" /> - <gain value="0.8" /> -</music> +<?xml version="1.0"?> +<music title = "Out of it" + composer = "Brad Sucks" + gain = "0.8" + file = "BradSucks-OutOfIt.ogg" /> Modified: main/trunk/data/music/CaribbeanMusic.music =================================================================== --- main/trunk/data/music/CaribbeanMusic.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/CaribbeanMusic.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,7 +1,5 @@ -<music> - <title value="Caribbean Music" /> - <!-- <enable-fast #t /> --> - <composer value="Dr.Sternhagel" /> - <file value="CaribbeanMusic.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Caribbean Music" + composer = "Dr.Sternhagel" + file = "CaribbeanMusic.ogg" /> Modified: main/trunk/data/music/ChillCarrier-Druckverlust.music =================================================================== --- main/trunk/data/music/ChillCarrier-Druckverlust.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/ChillCarrier-Druckverlust.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,7 +1,7 @@ -<music> - <title value="Druckverlust" /> - <composer value="ChillCarrier" /> - <file value="ChillCarrier-Druckverlust.ogg" /> - <gain value="0.8" /> -</music> +<?xml version="1.0"?> +<music title = "Druckverlust" + composer = "ChillCarrier" + gain = "0.8" + file = "ChillCarrier-Druckverlust.ogg" /> + Modified: main/trunk/data/music/Penguin_Party.music =================================================================== --- main/trunk/data/music/Penguin_Party.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/Penguin_Party.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,4 @@ -<music> - <title value="Penguin Party" /> - <!-- <enable-fast #t /> --> - <composer value="Magne Djupvik" /> - <file value="Penguin_Party.ogg"/> -</music> +<?xml version="1.0"?> +<music title = "Penguin Party" + composer = "Magne Djupvik" + file = "Penguin_Party.ogg"/> Modified: main/trunk/data/music/SkyVibe-HighFrequency.music =================================================================== --- main/trunk/data/music/SkyVibe-HighFrequency.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/SkyVibe-HighFrequency.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,7 +1,6 @@ -<music> - <title value="Sky Vibe - High Frequency" /> - <composer value="Speedsound" /> - <file value="SkyVibe-HighFrequency.ogg" /> - <gain value="0.5" /> -</music> +<?xml version="1.0"?> +<music title = "Sky Vibe - High Frequency" + composer = "Speedsound" + gain = "0.5" + file = "SkyVibe-HighFrequency.ogg" /> Modified: main/trunk/data/music/SymphonyNo5.music =================================================================== --- main/trunk/data/music/SymphonyNo5.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/SymphonyNo5.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,5 @@ -<music> - <title value="Symphony No. 5" /> - <composer value="Daniel Bautista" /> - <file value="SymphonyNo5.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Symphony No. 5" + composer = "Daniel Bautista" + file = "SymphonyNo5.ogg" /> Modified: main/trunk/data/music/TheDeadRocks-EasyJob.music =================================================================== --- main/trunk/data/music/TheDeadRocks-EasyJob.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/TheDeadRocks-EasyJob.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,5 @@ -<music> - <title value="EasyJob" /> - <composer value="The Dead Rocks" /> - <file value="TheDeadRocks-EasyJob.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "EasyJob" + composer = "The Dead Rocks" + file = "TheDeadRocks-EasyJob.ogg" /> Modified: main/trunk/data/music/TheDeadRocks-GreenSecretFromAmazonia.music =================================================================== --- main/trunk/data/music/TheDeadRocks-GreenSecretFromAmazonia.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/TheDeadRocks-GreenSecretFromAmazonia.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,5 @@ -<music> - <title value="Green Secret From Amazonia" /> - <composer value="The Dead Rocks" /> - <file value="TheDeadRocks-GreenSecretFromAmazonia.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Green Secret From Amazonia" + composer = "The Dead Rocks" + file = "TheDeadRocks-GreenSecretFromAmazonia.ogg" /> Modified: main/trunk/data/music/TheDeadRocks-OneMillionDollar.music =================================================================== --- main/trunk/data/music/TheDeadRocks-OneMillionDollar.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/TheDeadRocks-OneMillionDollar.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,5 @@ -<music> - <title value="One Million Dollar" /> - <composer value="The Dead Rocks" /> - <file value="TheDeadRocks-OneMillionDollar.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "One Million Dollar" + composer = "The Dead Rocks" + file = "TheDeadRocks-OneMillionDollar.ogg" /> Modified: main/trunk/data/music/dance_cleopatra.music =================================================================== --- main/trunk/data/music/dance_cleopatra.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/dance_cleopatra.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,9 +1,9 @@ -<music> - <title value="Dance Cleopatra" /> - <composer value="ZamalSka" /> - <file value="dance_cleopatra.ogg"/> +<?xml version="1.0"?> +<music title = "Dance Cleopatra" + composer = "ZamalSka" + gain = "1.25" + file = "dance_cleopatra.ogg"/> - <!-- Once multiplied with the master volume, this value will be clamped to 1.0; but at least we - can exceed the master music volume for quieter songs --> - <gain value="1.25" /> -</music> +<!-- Once multiplied with the master volume, the gain value will be clamped + to 1.0; but at least we can exceed the master music volume for + quieter songs --> Modified: main/trunk/data/music/kart_grand_prix.music =================================================================== --- main/trunk/data/music/kart_grand_prix.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/kart_grand_prix.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,5 +1,4 @@ -<music> - <title value="Kart Grand Prix" /> - <composer value="Weirwood" /> - <file value="kart_grand_prix.ogg"/> -</music> +<?xml version="1.0"?> +<music title = "Kart Grand Prix" + composer = "Weirwood" + file = "kart_grand_prix.ogg"/> Modified: main/trunk/data/music/lose_theme.music =================================================================== --- main/trunk/data/music/lose_theme.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/lose_theme.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,5 @@ -<music> - <title value="Win Theme" /> - <composer value="Weirwood" /> - <file value="lose_theme.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Win Theme" + composer = "Weirwood" + file = "lose_theme.ogg" /> Modified: main/trunk/data/music/main_theme.music =================================================================== --- main/trunk/data/music/main_theme.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/main_theme.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,5 +1,4 @@ -<music> - <title value="MayDay Mayhem" /> - <composer value="Alessandro Bottura" /> - <file value="MayDayMayhem.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "MayDay Mayhem" + composer = "Alessandro Bottura" + file = "MayDayMayhem.ogg" /> Modified: main/trunk/data/music/win_theme.music =================================================================== --- main/trunk/data/music/win_theme.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/music/win_theme.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,5 @@ -<music> - <title value="Win Theme" /> - <composer value="Weirwood" /> - <file value="win_theme.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Win Theme" + composer = "Weirwood" + file = "win_theme.ogg" /> Modified: main/trunk/data/tracks/jungle/amazon_jungle.music =================================================================== --- main/trunk/data/tracks/jungle/amazon_jungle.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/tracks/jungle/amazon_jungle.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,5 +1,5 @@ -<music> - <title value="Amazon Jungle" /> - <composer value="Auria" /> - <file value="amazon_jungle.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Amazon Jungle" + composer = "Auria" + file = "amazon_jungle.ogg" /> + Modified: main/trunk/data/tracks/mines/West.music =================================================================== --- main/trunk/data/tracks/mines/West.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/tracks/mines/West.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,5 @@ -<music> - <title value="West" /> - <composer value="Chris Leutwyler (Krobonil)" /> - <file value="West.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "West" + composer = "Chris Leutwyler (Krobonil)" + file = "West.ogg" /> Modified: main/trunk/data/tracks/secretgarden/garden.music =================================================================== --- main/trunk/data/tracks/secretgarden/garden.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/tracks/secretgarden/garden.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,5 +1,4 @@ -<music> - <title value="Secret Garden" /> - <composer value="DJ Helium" /> - <file value="garden.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Secret Garden" + composer = "DJ Helium" + file = "garden.ogg" /> Modified: main/trunk/data/tracks/snowmountain/Snowy.music =================================================================== --- main/trunk/data/tracks/snowmountain/Snowy.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/tracks/snowmountain/Snowy.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,6 +1,5 @@ -<music> - <title value="Snowy" /> - <composer value="Chris Leutwyler (Krobonil)" /> - <file value="Snowy.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Snowy" + composer = "Chris Leutwyler (Krobonil)" + file = "Snowy.ogg" /> Modified: main/trunk/data/tracks/startrack/Ethereal_Spectrum.music =================================================================== --- main/trunk/data/tracks/startrack/Ethereal_Spectrum.music 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/data/tracks/startrack/Ethereal_Spectrum.music 2010-08-30 23:21:06 UTC (rev 5832) @@ -1,5 +1,4 @@ -<music> - <title value="Ethereal Spectrum" /> - <composer value="Asha B." /> - <file value="Ethereal_Spectrum.ogg" /> -</music> +<?xml version="1.0"?> +<music title = "Ethereal Spectrum" + composer = "Asha B." + file = "Ethereal_Spectrum.ogg" /> Modified: main/trunk/src/audio/music_information.cpp =================================================================== --- main/trunk/src/audio/music_information.cpp 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/src/audio/music_information.cpp 2010-08-30 23:21:06 UTC (rev 5832) @@ -43,7 +43,7 @@ m_faster_time = 1.0f; m_max_pitch = 0.1f; m_gain = 1.0f; - m_adjustedGain = 1.0f; + m_adjusted_gain = 1.0f; if (StringUtils::getExtension(filename) != "music") { @@ -53,74 +53,52 @@ m_normal_filename = filename; return; } - // Otherwise read config file // -------------------------- - XMLNode* root = file_manager->createXMLTree(filename); if (!root) { - throw std::runtime_error("Can open music XML file"); + std::ostringstream msg; + msg << "Could not open music XML file '"<<filename<<"'.";; + throw std::runtime_error(msg.str()); } - - const int amount = root->getNumNodes(); - for (int i=0; i<amount; i++) + if(root->getName()!="music") { - const XMLNode* node = root->getNode(i); - - if (node->getName() == "music") - { - // outer node, ignore - } - else if (node->getName() == "title") - { - if (node->get("value", &m_title) == 0) - { - fprintf(stderr, "/!\\ The '<title value=' attribute is mandatory in the music XML file!\n"); - throw std::runtime_error("Incomplete or corrupt music XML file"); - return; - } - } - else if (node->getName() == "composer") - { - if (node->get("value", &m_composer) == 0) - { - fprintf(stderr, "/!\\ The '<composer value=' attribute is mandatory in the music XML file!\n"); - throw std::runtime_error("Incomplete or corrupt music XML file"); - return; - } - } - else if (node->getName() == "file") - { - if (node->get("value", &m_normal_filename) == 0) - { - fprintf(stderr, "/!\\ The '<file value=' attribute is mandatory in the music XML file!\n"); - throw std::runtime_error("Incomplete or corrupt music XML file"); - return; - } - assert(m_normal_filename.size() > 0); - } - else if (node->getName() == "gain") - { - node->get("value", &m_gain); - m_adjustedGain = m_gain; - } - else - { - std::cerr << "Unknown node in music XML file : " << node->getName().c_str() << std::endl; - throw std::runtime_error("Unknown node in music XML file"); - } - }// nend for - + std::ostringstream msg; + msg << "Music XML file '"<<filename<<"' does not contain music node.";; + throw std::runtime_error(msg.str()); + } + if(!root->get("title", &m_title)) + { + fprintf(stderr, + "The 'title' attribute is missing in the music XML file '%s'!\n", + filename.c_str()); + throw std::runtime_error("Incomplete or corrupt music XML file"); + return; + } + if(!root->get("composer", &m_composer)) + { + fprintf(stderr, + "The 'composer' attribute is missing in the music XML file '%s'!\n", + filename.c_str()); + throw std::runtime_error("Incomplete or corrupt music XML file"); + return; + } + if(!root->get("file", &m_normal_filename)) + { + fprintf(stderr, + "The 'file' attribute is mandatory in the music XML file '%s'!\n", + filename.c_str()); + throw std::runtime_error("Incomplete or corrupt music XML file"); + return; + } + root->get("gain", &m_adjusted_gain); + root->get("tracks", &m_all_tracks ); + root->get("fast", &m_enable_fast ); + root->get("fast-filename", &m_fast_filename); delete root; - //TODO: not implemented back (is this useful in any way?) - // LISP->getVector("tracks", m_all_tracks ); - - //TODO: not implemented back (is this used in any way?) - m_enable_fast = false; - // Get the path from the filename and add it to the ogg filename std::string path = StringUtils::getPath(filename); m_normal_filename = path + "/" + m_normal_filename; @@ -131,7 +109,6 @@ m_fast_filename = path + "/" + m_fast_filename; } - } // MusicInformation //----------------------------------------------------------------------------- @@ -151,7 +128,7 @@ m_mode = SOUND_NORMAL; std::cout << "startMusic : m_normal_filename=<" << m_normal_filename.c_str() << ">, gain=" - << m_adjustedGain << "\n"; + << m_adjusted_gain << "\n"; if (m_normal_filename== "") return; @@ -173,7 +150,7 @@ m_normal_filename.c_str()); return; } - m_normal_music->volumeMusic(m_adjustedGain); + m_normal_music->volumeMusic(m_adjusted_gain); m_normal_music->playMusic(); // Then (if available) load the music for the last track @@ -201,7 +178,7 @@ m_fast_filename.c_str()); return; } - m_fast_music->volumeMusic(m_adjustedGain); + m_fast_music->volumeMusic(m_adjusted_gain); } // startMusic //----------------------------------------------------------------------------- @@ -289,9 +266,9 @@ { // printf("Setting master volume %f\n", gain); - m_adjustedGain = m_gain * gain; - if (m_normal_music != NULL) m_normal_music->volumeMusic(m_adjustedGain); - if (m_fast_music != NULL) m_fast_music->volumeMusic(m_adjustedGain); + m_adjusted_gain = m_gain * gain; + if (m_normal_music != NULL) m_normal_music->volumeMusic(m_adjusted_gain); + if (m_fast_music != NULL) m_fast_music->volumeMusic(m_adjusted_gain); } // volumeMusic //----------------------------------------------------------------------------- Modified: main/trunk/src/audio/music_information.hpp =================================================================== --- main/trunk/src/audio/music_information.hpp 2010-08-30 23:17:52 UTC (rev 5831) +++ main/trunk/src/audio/music_information.hpp 2010-08-30 23:21:06 UTC (rev 5832) @@ -47,7 +47,7 @@ bool m_enable_fast; float m_gain; - float m_adjustedGain; + float m_adjusted_gain; /** Either time for fading faster music in, or time to change pitch */ float m_faster_time; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |