MCPcopy Create free account
hub / github.com/LMMS/lmms / upgrade_0_4_0_beta1

Method upgrade_0_4_0_beta1

src/core/DataFile.cpp:703–739  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

701
702
703void DataFile::upgrade_0_4_0_beta1()
704{
705 // Upgrade to version 0.4.0-beta1 from some version greater than or equal to 0.4.0-20080622
706 // convert binary effect-key-blobs to XML
707 QDomNodeList list;
708 list = elementsByTagName( "effect" );
709 for( int i = 0; !list.item( i ).isNull(); ++i )
710 {
711 QDomElement el = list.item( i ).toElement();
712 QString k = el.attribute( "key" );
713 if( !k.isEmpty() )
714 {
715 const QList<QVariant> l =
716 base64::decode( k, QVariant::List ).toList();
717 if( !l.isEmpty() )
718 {
719 QString name = l[0].toString();
720 QVariant u = l[1];
721 EffectKey::AttributeMap m;
722 // VST-effect?
723 if( u.type() == QVariant::String )
724 {
725 m["file"] = u.toString();
726 }
727 // LADSPA-effect?
728 else if( u.type() == QVariant::StringList )
729 {
730 const QStringList sl = u.toStringList();
731 m["plugin"] = sl.value( 0 );
732 m["file"] = sl.value( 1 );
733 }
734 EffectKey key( NULL, name, m );
735 el.appendChild( key.saveXML( *this ) );
736 }
737 }
738 }
739}
740
741
742void DataFile::upgrade_0_4_0_rc2()

Callers

nothing calls this directly

Calls 6

isNullMethod · 0.80
decodeFunction · 0.70
isEmptyMethod · 0.45
typeMethod · 0.45
valueMethod · 0.45
saveXMLMethod · 0.45

Tested by

no test coverage detected