#include "std.mi"

Function String Fn_SecToMin(int time);

Global Group     	grpMain;
Global Group     	grpSongWindow;
Global TEXT             txt1;
//Global TEXT             txt2;
Global Slider           sldSeek;
Global Int              intSeekdrag;
Global Timer		tmrSongPlayingTimer;

System.onScriptLoaded(){

	grpMain		= getScriptGroup();
	grpSongWindow	= grpMain.findObject("SongWindow.Group");
	txt1		= grpSongWindow.findObject("SongName");
//	txt2		= grpSongWindow.findObject("songArtist");
	sldSeek		= grpSongWindow.findObject("Seeker");

//        tmrSongPlayingTimer = new Timer;
//        tmrSongPlayingTimer.setDelay(50);
//        tmrSongPlayingTimer.start();
}


System.onScriptUnloading() {

//        delete tmrSongPlayingTimer;
}
/*
tmrSongPlayingTimer.onTimer() {

	txt1.setText("Positton: " + System.integerToTime(System.getPosition()) + " / " + System.integerToTime(System.getPlayItemLength()));
//	txt2.setText("Positton: " + System.integerToTime(System.getPosition()) + " / " + System.integerToTime(System.getPlayItemLength()));

	if(intSeekdrag == 0){
	        tmrSongPlayingTimer.setDelay(50);
		tmrSongPlayingTimer.start();
	}
}
*/
/**************************************************************************************************
// #sldSeek.onLeftButtonDown(
//     int    x    //X軸
//     int    y    //Y軸
//  )
//  条件：シークレイヤー上でマウス左ボタンダウン
//  機能：曲の長さと進行状況を表示する
***************************************************************************************************/
sldSeek.onLeftButtonDown(int x, int y) {
    intSeekdrag = 1; //シークドラッグフラグON

    int s = (getPosition() / 255) * (getPlayItemLength() / 1000);  //曲の進行時間を取得
    int m = getPlayItemLength() / 1000;                            //曲の長さを取得

    //ポジション表示
    txt1.setAlternateText("Positton: " + Fn_SecToMin(s) + " / " + Fn_SecToMin(m));
//    txt2.setAlternateText("Positton: " + Fn_SecToMin(s) + " / " + Fn_SecToMin(m));

}

/**************************************************************************************************
// #sldSeek.onMouseMove(
//     int    x    //X軸
//     int    y    //Y軸
//  )
//  条件：シークレイヤー上でマウス移動
//  機能：シークレイヤーをドラッグ時のみ曲の長さと進行状況を表示する
***************************************************************************************************/
sldSeek.onMouseMove(int x, int y) {

    //★シークレイヤーがドラッグ時のみ表示
    if(intSeekdrag == 1){
        int s = (getPosition() / 255) * (getPlayItemLength() / 1000);  //曲の進行時間を取得
        int m = getPlayItemLength() / 1000;                            //曲の長さを取得

        //ポジション表示
    	txt1.setAlternateText("Positton: " + Fn_SecToMin(s) + " / " + Fn_SecToMin(m));
//   	txt2.setAlternateText("Positton: " + Fn_SecToMin(s) + " / " + Fn_SecToMin(m));

//	tmrSongPlayingTimer.setDelay(1000);
//	tmrSongPlayingTimer.start();
    }
}

/**************************************************************************************************
// #sldSeek.onLeftButtonUp(
//     int    x    //X軸
//     int    y    //Y軸
//  )
//  条件：シークレイヤー上でマウス左ボタンアップ
//  機能：曲の長さと進行状況を表示する
***************************************************************************************************/
sldSeek.onLeftButtonUp(int x, int y) {

    int s = (getPosition() / 255) * (getPlayItemLength() / 1000);  //曲の進行時間を取得
    int m = getPlayItemLength() / 1000;                            //曲の長さを取得

    //ポジション表示
    txt1.setAlternateText("Positton: " + Fn_SecToMin(s) + " / " + Fn_SecToMin(m));
//    txt2.setAlternateText("Positton: " + Fn_SecToMin(s) + " / " + Fn_SecToMin(m));

    intSeekdrag = 0; //シークドラッグフラグOFF
}

/**************************************************************************************************
// #Fn_SecToMin(
//      int     time        //秒数
// )
// OUT  String              //分（文字列）
//
// 機能：指定された整数の秒数を、分表記の文字列にして返す(例：128→2:08)
***************************************************************************************************/
String Fn_SecToMin(int time) {
    String strMin, strSec;

    int min = time / 60;
    int sec = time % 60;
    
    //★余りが10以下の場合、"0"を付加させる
    if(sec < 10){
        strSec = "0" + System.integerToString(sec);
    }
    else{
        strSec = System.integerToString(sec);
    }
    strMin = System.integerToString(min);

    return strMin + ":" + strSec;
}