From 49ba9fe2c6c88e31a4e18f17ee4c13851ae64456 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 7 Jul 2008 10:15:32 +0000 Subject: [PATCH] added compat-code for loading old presets where content-node is named "channelsettings" git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1294 0778d3d1-df1d-0410-868b-ea421aaaa00d --- ChangeLog | 4 ++++ src/core/mmp.cpp | 31 +++++++++---------------------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index f1b7dea14..7aad0e8f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2008-07-07 Tobias Doerffel + * src/core/mmp.cpp: + added compat-code for loading old presets where content-node is named + "channelsettings" + * plugins/sf2_player/sf2_player.cpp: * plugins/sf2_player/sf2_player.h: added support for pitch-bending diff --git a/src/core/mmp.cpp b/src/core/mmp.cpp index cefb68c86..14128197f 100644 --- a/src/core/mmp.cpp +++ b/src/core/mmp.cpp @@ -151,28 +151,16 @@ multimediaProject::multimediaProject( const QString & _in_file_name, QDomElement root = documentElement(); m_type = type( root.attribute( "type" ) ); - QDomNode node = root.firstChild(); - while( !node.isNull() ) - { - if( node.isElement() ) - { - if( node.nodeName() == "head" ) - { - m_head = node.toElement(); - } - else if( node.nodeName() == typeName( m_type ) ) - { - m_content = node.toElement(); - } - } - node = node.nextSibling(); - } + m_head = root.elementsByTagName( "head" ).item( 0 ).toElement(); if( _upgrade && root.hasAttribute( "creatorversion" ) && root.attribute( "creatorversion" ) != LMMS_VERSION ) { upgrade(); } + + m_content = root.elementsByTagName( typeName( m_type ) ). + item( 0 ).toElement(); } @@ -280,17 +268,16 @@ multimediaProject::ProjectTypes multimediaProject::type( { for( int i = 0; i < NumProjectTypes; ++i ) { - if( s_types[i].m_name == _type_name || ( - s_types[i].m_name.contains( "," ) && ( - s_types[i].m_name.section( ',', 0, 0 ) == _type_name || - s_types[i].m_name.section( ',', 1, 1 ) == _type_name ) ) - ) - + if( s_types[i].m_name == _type_name ) { return( static_cast( i ) ); } } + if( _type_name == "channelsettings" ) + { + return( multimediaProject::InstrumentTrackSettings ); + } return( UnknownType ); }