Changeset 24079


Ignore:
Timestamp:
10/05/13 00:46:46 (9 years ago)
Author:
nit
Message:

fix

Location:
titan/titan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/play.h

    r24061 r24079  
    185185        drawscreen(playinfobarpic, 0, 0);
    186186        drawscreen(playinfobarcover, 0, 0);
     187}
     188
     189int checktrackname(char* text)
     190{
     191        int ret = -1;
     192        if(text == NULL) return -1;
     193       
     194        ret = atoi(text);
     195        if(ret == 0 && text[0] != '0') return -1;
     196       
     197        return ret;
    187198}
    188199
     
    240251                                tmp->type = CHOICEBOX;
    241252                                tmp->del = 1;
    242                                 if(tracklist[i] != NULL && atoi(tracklist[i]) != 0)
    243                                         tmp->handle = (char*)atoi(tracklist[i]);
     253                                if(checktrackname(tracklist[i]) > -1)
     254                                        tmp->handle = (char*)checktrackname(tracklist[i]);
    244255                                else
    245256                                        tmp->handle = (char*)(i / 2);
    246257
    247                                 if(ostrcmp(curtrackname, tracklist[i]) == 0 && ostrcmp(curtrackencoding, tracklist[i + 1]) == 0)
     258                                if((ostrcmp(curtrackname, tracklist[i]) == 0 && ostrcmp(curtrackencoding, tracklist[i + 1]) == 0) || curtrackid == checktrackname(tracklist[i]))
    248259                                {
    249                                         if(curtrackname != NULL && atoi(curtrackname) != 0)
     260                                        if(checktrackname(curtrackname) > -1)
    250261                                                tmp->handle1 = (char*)atoi(curtrackname);
    251262                                        else
  • titan/titan/player.h

    r24075 r24079  
    11621162               
    11631163                int i = 0;
    1164                 while(TrackList[i] != NULL)
    1165                 {
    1166                         string_newline(TrackList[i]);
    1167                         i += 2;
    1168                 }
    1169        
    11701164                if(TrackList != NULL)
    11711165                {
     1166                        while(TrackList[i] != NULL)
     1167                        {
     1168                                string_newline(TrackList[i]);
     1169                                i += 2;
     1170                        }
     1171                       
    11721172                        debug(150, "Track List");
    11731173                        i = 0;
     
    13611361#ifdef EPLAYER3
    13621362        if(player && player->playback)
    1363         {
    1364                 //if(num >= 0 && num <= 9)
    1365                         player->playback->Command(player, PLAYBACK_SWITCH_AUDIO, (void*)&num);
    1366         }
     1363                player->playback->Command(player, PLAYBACK_SWITCH_AUDIO, (void*)&num);
    13671364#endif
    13681365
     
    13771374#ifdef EPLAYER3
    13781375        if(player && player->playback)
    1379         {
    1380                 //if(num >= 0 && num <= 9)
    1381                         player->playback->Command(player, PLAYBACK_SWITCH_SUBTITLE, (void*)&num);
    1382         }
     1376                player->playback->Command(player, PLAYBACK_SWITCH_SUBTITLE, (void*)&num);
    13831377#endif
    13841378}
     
    13891383        if(player && player->output && player->output->subtitle)
    13901384                player->output->subtitle->Command(player, (OutputCmd_t)OUTPUT_STOP, NULL);
    1391 
    13921385#endif
    13931386}
Note: See TracChangeset for help on using the changeset viewer.