View Issue Details

IDProjectCategoryView StatusLast Update
0000221ardourbugspublic2004-02-02 08:03
Reportervescovi Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionreopened 
Summary0000221: pan information not read when loading session
DescriptionVersion : Ardour/GTK0.430.2 with libardour 0.714.0
when loading a old session with for example one track hard panned to left, the track is visually center panned. I am saying visually because in fact there is no sound until the pan control is changed to a new value. pans must be set to "0,0".
Similarly, if a "send" is added to a stereo track, this send don't work when this session is re-opened. Here it seems that the pan information of the send is badly included in the session file. I have included an example of the XML session file where it can be seen that the pans of the send redirect are "0,0"
 
Additional Information<Route muted="no" soloed="no" phase-invert="no" mute-affects-pre-fader="yes" mute-affects-post-fader="yes" mute-affects-control-outs="yes" mute-affects-main-outs="yes" order-keys="editor=0:signal=0" diskstream-id="3359581583081">
      <IO name="Audio 1" id="3359581526781" inputs="" outputs="{ardour:Master L/in 1}{ardour:Master R/in 1}" pans="0.351123,0.936329" gain="1.02249" iolimits="0,0,-1,-1"/>
      <Automation path="Audio_1.automation"/>
      <Send>
        <Redirect active="yes" placement="pre" automation-playback="no">
          <IO name="send 1" id="17310418842881" inputs="" outputs="{ardour:Delay/in 1}{ardour:Delay/in 2}" pans="0,0" gain="1" iolimits="-1,-1,-1,-1"/>
        </Redirect>
      </Send>
      <extra>
        <GUI color="6416:46739:35201" track_height="normal" shown_editor="yes" strip_width="wide" shown_mixer="yes"/>
      </extra>
    </Route>
TagsNo tags attached.

Activities

vescovi

2004-01-17 12:08

reporter   ~0000349

I have investigate a little more this behaviour. When a track is really left or right hard panned it work. In fact when the .ardour file contains something like pans="1,0" or "1.5,0" or "1.9,0.9" the signal is panned to left. It seems that there is somewhere a cast to integer of the pan value. That would explain why classical pan values ("0.xxxxx,0.xxxxxx") are read "0,0" !!!

vescovi

2004-01-18 14:46

reporter   ~0000350

The bug was cause by the atof dependency to locale in the function IO::parse_pan_string in libs/ardour/io.cc. This simple patch correct the bug !! :

> diff -B -u io.cc.old io.cc
--- io.cc.old 2004-01-16 16:45:14.000000000 +0100
+++ io.cc 2004-01-18 15:47:59.000000000 +0100
@@ -1583,7 +1583,7 @@
        pos = 0;
        opos = 0;
        pans.clear ();
-
+ setlocale(LC_NUMERIC,"POSIX");
        while ((pos = str.find_first_of (',', opos)) != string::npos) {
                pans.push_back (atof (str.substr (opos, pos - opos).c_str()));
                opos = pos + 1;
@@ -1592,7 +1592,7 @@
        if (opos < str.length()) {
                pans.push_back ( atof (str.substr(opos).c_str()));
        }
-
+ setlocale(LC_NUMERIC, "");
        return pans.size();
 }

vescovi

2004-01-19 08:57

reporter   ~0000352

I should have wait for a solved status before closing this bug !! sorry !!
This bug seems also related to ID 206 and 224.

vescovi

2004-02-02 08:03

reporter   ~0000373

Ok, let's close this bug since, this has been solved in CVS.

Issue History

Date Modified Username Field Change
2004-01-14 17:33 vescovi New Issue
2004-01-17 12:08 vescovi Note Added: 0000349
2004-01-18 14:46 vescovi Status new => closed
2004-01-18 14:46 vescovi Note Added: 0000350
2004-01-19 08:57 vescovi Status closed => feedback
2004-01-19 08:57 vescovi Resolution open => reopened
2004-01-19 08:57 vescovi Note Added: 0000352
2004-02-02 08:03 vescovi Status feedback => closed
2004-02-02 08:03 vescovi Note Added: 0000373