     
                if ((pad.Buttons & config.control[OPT_LOOP]) == config.control[OPT_LOOP])
                {
                    if (music->loop == LOOP_NONE)
                        music->loop = LOOP_SONG;
                    else if((music->loop == LOOP_SONG) || (music->loop == LOOP_IGNORE))
                        music->loop = LOOP_NONE;
                }

                if ((pad.Buttons & config.control[OPT_RELOAD]) == config.control[OPT_RELOAD])
                {
                    //reload the playlist and its handler
                    TerminatePlaylist();

                    //resume music_thread so it will run the cleanup code (if it exists)
                    if(sceKernelResumeThread(music->mus_thid) != SCE_KERNEL_ERROR_UNKNOWN_THID)
                    {
                        //unpause so the thread can clean up
                        music->flags = PLAYBACK_DONE;

                        while(music->flags != PLAYBACK_CLEANED_UP)
                            sceKernelDelayThreadCB(DELAY_THREAD_AMT);

                        sceKernelTerminateDeleteThread(music->mus_thid);
                    }

                    LoadConfigFile("ms0:/seplugins/music_conf.txt", &config);

                    InitPlaylist();

                    blit_ready_timer = DISPLAY_TIMER_AMT;
                }


