-Added error checking to DiskReader

This commit is contained in:
Harry van Haaren 2013-10-03 02:15:05 +01:00
parent 0cffa1f6f1
commit 37a6f2891f

View file

@ -288,39 +288,66 @@ int DiskReader::readTracks()
{ {
cJSON* track = cJSON_GetArrayItem( tracks, t ); cJSON* track = cJSON_GetArrayItem( tracks, t );
readScenes( t, track ); if( !track )
// name
{ {
cJSON* name = cJSON_GetObjectItem( track, "name"); LUPPP_WARN("Track %i has no name track saved.", t);
gui->getTrack(t)->bg.setLabel( name->valuestring );
} }
// fader else
{ {
cJSON* fader = cJSON_GetObjectItem( track, "fader"); readScenes( t, track );
EventTrackVol e( t, fader->valuedouble );
writeToDspRingbuffer( &e );
}
// sends
{
cJSON* send = cJSON_GetObjectItem( track, "sendAmount");
cJSON* sendActive = cJSON_GetObjectItem( track, "sendActive");
cJSON* xside = cJSON_GetObjectItem( track, "xsideAmount"); // name
cJSON* keyActive = cJSON_GetObjectItem( track, "keyActive"); {
cJSON* name = cJSON_GetObjectItem( track, "name");
EventTrackSendActive e1( t, SEND_POSTFADER, sendActive->valueint ); if( !name )
EventTrackSendActive e2( t, SEND_KEY , keyActive ->valueint ); {
LUPPP_WARN("Track %i has no name data saved.", t);
EventTrackSend e3( t, SEND_XSIDE , xside->valuedouble ); }
EventTrackSend e4( t, SEND_POSTFADER , send->valuedouble ); else
{
gui->getTrack(t)->bg.setLabel( name->valuestring );
writeToDspRingbuffer( &e1 ); }
writeToDspRingbuffer( &e2 ); }
writeToDspRingbuffer( &e3 ); // fader
} {
cJSON* fader = cJSON_GetObjectItem( track, "fader");
if( !fader )
{
LUPPP_WARN("Track %i has no fader data saved.", t);
}
else
{
EventTrackVol e( t, fader->valuedouble );
writeToDspRingbuffer( &e );
}
}
// sends
{
cJSON* send = cJSON_GetObjectItem( track, "sendAmount");
cJSON* sendActive = cJSON_GetObjectItem( track, "sendActive");
cJSON* xside = cJSON_GetObjectItem( track, "xsideAmount");
cJSON* keyActive = cJSON_GetObjectItem( track, "keyActive");
if( !send || !sendActive || !xside || !keyActive )
{
LUPPP_WARN("Track %i has no send data saved.", t);
}
else
{
EventTrackSendActive e1( t, SEND_POSTFADER, sendActive->valueint );
EventTrackSendActive e2( t, SEND_KEY , keyActive ->valueint );
EventTrackSend e3( t, SEND_XSIDE , xside->valuedouble );
EventTrackSend e4( t, SEND_POSTFADER , send->valuedouble );
writeToDspRingbuffer( &e1 );
writeToDspRingbuffer( &e2 );
writeToDspRingbuffer( &e3 );
}
}
}// if track
} // nTracks loop } // nTracks loop
} }
else else