| 701 | |
| 702 | |
| 703 | void 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 | |
| 742 | void DataFile::upgrade_0_4_0_rc2() |