we always only use the "C" locale when saving.
[ardour.git] / libs / ardour / speakers.cc
index 2acc9659ef3bc6aa3e683897c79456de78f883f4..b2f46fa0693afc5cd8c52db8a8903c82d0ab33c1 100644 (file)
@@ -149,7 +149,7 @@ Speakers::move_speaker (int id, const AngularVector& new_position)
 void
 Speakers::setup_default_speakers (uint32_t n)
 {
-       double o = 90.0;
+       double o = 180.0;
 
         /* default assignment of speaker position for n speakers */
 
@@ -229,12 +229,12 @@ Speakers::setup_default_speakers (uint32_t n)
                */
 
                if (n % 2) {
-                       deg = 90.0 - degree_step;
+                       deg = 360 + o + degree_step;
                } else {
-                       deg = 90.0;
+                       deg = 360 + o;
                }
-               for (i = 0; i < n; ++i, deg += degree_step) {
-                       add_speaker (AngularVector (deg, 0.0));
+               for (i = 0; i < n; ++i, deg -= degree_step) {
+                       add_speaker (AngularVector (fmod(deg, 360), 0.0));
                }
        }
         }
@@ -245,7 +245,7 @@ Speakers::get_state ()
 {
         XMLNode* node = new XMLNode (X_("Speakers"));
         char buf[32];
-        LocaleGuard lg (X_("POSIX"));
+        LocaleGuard lg ();
 
         for (vector<Speaker>::const_iterator i = _speakers.begin(); i != _speakers.end(); ++i) {
                 XMLNode* speaker = new XMLNode (X_("Speaker"));
@@ -267,9 +267,9 @@ int
 Speakers::set_state (const XMLNode& node, int /*version*/)
 {
         XMLNodeConstIterator i;
-        const XMLProperty* prop;
+        XMLProperty const * prop;
         double a, e, d;
-        LocaleGuard lg (X_("POSIX"));
+        LocaleGuard lg ();
         int n = 0;
 
         _speakers.clear ();