Hello.

Since Olive (the only bzr GUI I could find) is unreliable and slow as
hell, and I'm getting an error when trying to commit using the bzr
command, attached is a patch for 1.6.2 that adds code to move the
configuration files to the new locations for upgrading users. It also
fixes a teeny cosmetic bug in the SCS.3d script.

Tests good on Linux, needs to be tested on Windows and OS X.

BTW, the error I get is:

bzr: ERROR: Cannot lock
LockDir(http://bazaar.launchpad.net/%7Emixxxdevelopers/mixxx/release-1.6.2/.bzr/branch/lock):
Transport operation not possible: http does not support mkdir()

Sean

<<--------------------------------------------------------------------------------->>
This E-Mail message has been scanned for viruses
and cleared by >>SmartMail<< from Smarter Technology, Inc.
<<--------------------------------------------------------------------------------->>
=== modified file 'mixxx/res/midi/Stanton-SCS3d-scripts.js'
--- mixxx/res/midi/Stanton-SCS3d-scripts.js	2009-03-03 18:22:05 +0000
+++ mixxx/res/midi/Stanton-SCS3d-scripts.js	2009-03-13 03:35:09 +0000
@@ -676,7 +676,7 @@
         midi.sendShortMsg(0xB0+(channel-1),0x01,0x15+add,StantonSCS3d.temp["device"]);  // Show position on S4
         return;
     }
-    midi.sendShortMsg(0xB0+(channel-1),0x0C,0x00,StantonSCS3d.temp["device"]);  // Darken S4
+    midi.sendShortMsg(0xB0+(channel-1),0x01,0x00,StantonSCS3d.temp["device"]);  // Darken S4
     StantonSCS3d.modifier["Deck"]=0;   // Clear button modifier flag
     // If the button's been held down for over a second, stay on the current deck
     if (new Date() - StantonSCS3d.modifier["deckTime"]>1000)

=== modified file 'mixxx/src/mixxx.cpp'
--- mixxx/src/mixxx.cpp	2009-03-12 23:45:22 +0000
+++ mixxx/src/mixxx.cpp	2009-03-13 03:20:41 +0000
@@ -76,9 +76,10 @@
     #ifdef BUILD_FLAGS
       buildFlags = BUILD_FLAGS;
     #endif
-    if (buildRevision.trimmed().length() > 0)
+    if (buildRevision.trimmed().length() > 0) {
         if (buildFlags.trimmed().length() > 0) buildRevision = "(svn " + buildRevision + "; built on: " + __DATE__ + " @ " + __TIME__ + "; flags: " + buildFlags.trimmed() + ") ";
         else buildRevision = "(svn " + buildRevision + "; built on: " + __DATE__ + " @ " + __TIME__ + ") ";
+    }
 
     qDebug() << "Mixxx" << VERSION << buildRevision << "is starting...";
     setWindowTitle(tr("Mixxx " VERSION));
@@ -89,6 +90,65 @@
     m_pTrack = 0;
     prefDlg = 0;
     midi = 0;
+    
+    // Check to see if there's an old config file in the old place (pre-1.6.2) to see if we need to move things
+    QString oldLocation = QDir::homePath().append("/%1");
+    QFileInfo* pre162Config = new QFileInfo(oldLocation.arg(".%1").arg(SETTINGS_FILE));
+    if (pre162Config->exists()) {
+    
+        // Move the files to their new location
+        QString newLocation = QDir::homePath().append("/").append(SETTINGS_PATH);
+        
+        if (!QDir(newLocation).exists()) {
+            qDebug() << "Creating new settings directory" << newLocation;
+            QDir().mkpath(newLocation);
+        }
+        
+        newLocation.append("%1");
+        
+        QString oldFilePath = oldLocation.arg(".mixxxtrack.xml");
+        QString newFilePath = newLocation.arg("mixxxtrack.xml");
+        QFile* oldFile = new QFile(oldFilePath);
+        if (oldFile->copy(newFilePath))
+            oldFile->remove();
+        else qWarning() << "Error" << oldFile->error() << "moving your library file" << oldFilePath << "to the new location" << newFilePath;
+        delete oldFile;
+        
+        oldFilePath = oldLocation.arg(".mixxxbpmscheme.xml");
+        newFilePath = newLocation.arg("mixxxbpmscheme.xml");
+        oldFile = new QFile(oldFilePath);
+        if (oldFile->copy(newFilePath))
+            oldFile->remove();
+        else qWarning() << "Error" << oldFile->error() << "moving your settings file" << oldFilePath << "to the new location" << newFilePath;
+        delete oldFile;
+        
+        oldFilePath = oldLocation.arg(".MixxxMIDIBindings.xml");
+        newFilePath = newLocation.arg("MixxxMIDIBindings.xml");
+        oldFile = new QFile(oldFilePath);
+        QFileInfo* pre162MIDI = new QFileInfo(oldFilePath);
+        if (pre162MIDI->exists()) {
+            qWarning() << "The MIDI mapping file format has changed in this version of Mixxx. You will need to reconfigure your MIDI controller. See the Wiki for full details on the new format.";
+            if (oldFile->copy(newFilePath))
+                oldFile->remove();
+                QFile::remove(oldLocation.arg(".MixxxMIDIDevice.xml"));
+            }
+        else qWarning() << "Error" << oldFile->error() << "moving your MIDI mapping file" << oldFilePath << "to the new location" << newFilePath;
+        // Tidy up
+        delete pre162MIDI;
+        delete oldFile;
+        
+        oldFilePath = oldLocation.arg(".mixxx.cfg");
+        newFilePath = newLocation.arg("mixxx.cfg");
+        oldFile = new QFile(oldFilePath);
+        if (oldFile->copy(newFilePath))
+            oldFile->remove();
+        else qWarning() << "Error" << oldFile->error() << "moving your configuration file" << oldFilePath << "to the new location" << newFilePath;
+        delete oldFile;
+        
+    }
+    // Tidy up
+    delete pre162Config;
+    
     // Read the config file from home directory
     config = new ConfigObject<ConfigValue>(QDir::homePath().append("/").append(SETTINGS_PATH).append(SETTINGS_FILE));
     QString qConfigPath = config->getConfigPath();

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to