Browse Source

SMF: fix breakage when instrument names contain spaces.

tags/non-sequencer-v1.9.4
Jonathan Moore Liles 17 years ago
parent
commit
4f186d9acb
1 changed files with 8 additions and 4 deletions
  1. +8
    -4
      smf.C

+ 8
- 4
smf.C View File

@@ -805,23 +805,27 @@ smf::read_pattern_info ( pattern *p )
name_set = true;
break;
case smf::INSTRUMENT:
// FIXME: decode mapping;
{
char *s = read_text();


char pat[256];

if ( 1 == sscanf( s, "Instrument: %s", pat ) )
if ( 1 == sscanf( s, "Instrument: %[^\n]", pat ) )
{
if ( ! p->mapping.open( Mapping::INSTRUMENT, pat ) )
{
p->mapping.open( Mapping::SCALE, "Chromatic" );
WARNING( "could not find instrument \"%s\"", pat );
}
}
else
if ( 1 == sscanf( s, "Scale: %s", pat ) )
if ( 1 == sscanf( s, "Scale: %[^\n]", pat ) )
{
if ( ! p->mapping.open( Mapping::SCALE, pat ) )
{
p->mapping.open( Mapping::SCALE, "Chromatic" );
WARNING( "could not find scale \"%s\"", pat );
}
}
break;
}


Loading…
Cancel
Save