View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000221 | ardour | bugs | public | 2004-01-14 17:33 | 2004-02-02 08:03 |
| Reporter | vescovi | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | reopened | ||
| Summary | 0000221: pan information not read when loading session | ||||
| Description | Version : 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> | ||||
| Tags | No tags attached. | ||||
|
|
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" !!! |
|
|
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(); } |
|
|
I should have wait for a solved status before closing this bug !! sorry !! This bug seems also related to ID 206 and 224. |
|
|
Ok, let's close this bug since, this has been solved in CVS. |
| 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 |