Tag:[GetTimetagLyricsスクリプト]
; ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ; Option.hsp ; ; 設定ウィンドウ作成・処理、LyricsMaster検索中の詳細表示窓 作成 ;_______________________________________ ;// 設定ウィンドウ作成 ///////////////////////////////////////////////////////// inipass = dir_exe+"\\setting.ini" ;設定ファイルパス ;設定読み込み gosub *iniLoad gi_sel = ginfo_sel ;あとで描画IDを戻す //設定ウィンドウ作成 screen WindowID_Setting, 350,235,8+2 title "設定" syscolor 15 :boxf color sysfont 17 objsize 100,22, 24 pos 10,12 mes "ファイル保存先:" pos , ginfo_cy+5 mes "LyricsMasterフォルダ:" pos , ginfo_cy+5 mes "曲除外フィルタ:" pos , ginfo_cy+10 g_cy=ginfo_cy mes "チェック基準:" pos 180,g_cy mes "タイトル重み:" mes "アーティスト重み:" mes "アルバム重み:" mes "再生時間重み:" pos 130,8 g_cx=ginfo_cx g_cy=ginfo_cy objsize 170,22, 24 input FileSavePos ,,,0 :ID_FileSavePos=stat :tipset stat,"デフォルト:曲と同じフォルダに保存\nフォルダ名:曲の下層フォルダを作って保存\n絶対パス:指定フォルダに保存" pos g_cx+175,g_cy objsize 35,22, 24 input FileSaveExt ,,,0 :ID_FileSaveExt=stat :tipset stat,"拡張子" pos g_cx, ginfo_cy+5 g_cy=ginfo_cy objsize 170,22, 24 input LyricsMasterPass ,,,0 :ID_LyricsMasterPass=stat :tipset stat,"LyricsMasterが置いてあるフォルダのパス" pos g_cx+175,g_cy objsize 35,22, 24 button gosub "参照", *Label_LyricsMasterFolder :tipset stat,"フォルダ参照" pos g_cx, ginfo_cy+5 g_cy=ginfo_cy objsize 170,22, 24 input FileNameFilter ,,,0 :ID_FileNameFilter=stat :tipset stat,"曲登録時に指定文字列が含まれた場合除外する\n|で区切ることで複数指定できる" pos g_cx+175,g_cy objsize 35,22, 24 chkbox "正", FIleNameFilterRegExpCheck :ID_FIleNameFilterRegExpCheck=stat :tipset stat,"フィルタに正規表現を使えるようにする" pos g_cx, ginfo_cy+10 g_cy=ginfo_cy objsize 50,22, 24 pos 90, input Option_CheckerPoint ,,,0 :ID_Option_CheckerPoint=stat :tipset stat,"リストにファイルを登録したとき点数がこの数値以上ならチェック\n既にタイムタグ付き歌詞が保存されていればチェックしない" pos 285,g_cy input Option_WeightTitle ,,,0 :ID_Option_WeightTitle=stat :tipset stat,"総合点数を算出する際のタイトルの比率" input Option_WeightArtsit ,,,0 :ID_Option_WeightArtsit=stat :tipset stat,"総合点数を算出する際のアーティストの比率" input Option_WeightAlbum ,,,0 :ID_Option_WeightAlbum=stat :tipset stat,"総合点数を算出する際のアルバムの比率" input Option_WeightTime ,,,0 :ID_Option_WeightTime=stat :tipset stat,"総合点数を算出する際の再生時間の比率" //OKボタン、キャンセルボタンを配置 objsize 90, 22 pos 70, ginfo_sy-30 button gosub "OK", *OptionOK pos 180, ginfo_sy-30 button gosub "キャンセル", *OptionCansel gsel gi_sel ;描画IDを戻す // 設定系処理スクリプトの末尾までジャンプ ////////////////////////////////////// goto *@forward // ///////////////////////////////////////////////////////////////////////////// *Label_LyricsMasterFolder ;LyricsMasterパス取得「参照」 foldlg "",LyricsMasterPass,0 ;フォルダ選択ダイアログ if stat=0 : LyricsMasterPass=refstr //設定ウィンドウがメインウィンドウに隠れてしまうのでアクティブにする gi_sel=ginfo_sel gsel WindowID_Setting,1 objprm ID_LyricsMasterPass, LyricsMasterPass gsel gi_sel return *OptionOK ;設定を保存 gosub *iniSave gi_sel = ginfo_sel ;設定LyricsMasterフォルダ末尾に\がついてたら排除 if strmid(LyricsMasterPass,-1,1)="\\" { LyricsMasterPass = strmid(LyricsMasterPass,0,strlen(LyricsMasterPass)-1) gsel WindowID_Setting objprm ID_LyricsMasterPass, LyricsMasterPass } gsel WindowID_Setting, -1 ;ウィンドウを隠す gsel gi_sel ;データベースの点数付けの重み割り振り設定 PointInMusicList_option_set Option_WeightTitle, Option_WeightArtsit, Option_WeightAlbum, Option_WeightTime return *OptionCansel ;設定を読み込み gosub *iniLoad gi_sel = ginfo_sel ;オブジェクトに反映 gsel WindowID_Setting objprm ID_FileSavePos, FileSavePos objprm ID_FileSaveExt, FileSaveExt objprm ID_LyricsMasterPass, LyricsMasterPass objprm ID_FileNameFilter, FileNameFilter objprm ID_FIleNameFilterRegExpCheck, FIleNameFilterRegExpCheck objprm ID_Option_CheckerPoint, Option_CheckerPoint objprm ID_Option_WeightTitle, Option_WeightTitle objprm ID_Option_WeightArtsit, Option_WeightArtsit objprm ID_Option_WeightAlbum, Option_WeightAlbum objprm ID_Option_WeightTime, Option_WeightTime gsel WindowID_Setting, -1 ;ウィンドウを隠す gsel gi_sel return ; ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ; ini関係 関数化 ;_______________________________________ #module #defcfunc _GetPrivateProfileInt str p1, str p2, int p3, str p4 GetPrivateProfileInt p1,p2,p3,p4 return stat #defcfunc _GetPrivateProfileString str p1, str p2, str p3, str p4 sdim data, 1024 GetPrivateProfileString p1,p2,p3,varptr(data),1024,p4 return data #global ; ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ; 設定を読み込み ;_______________________________________ *iniLoad exist inipass ;ファイル存在確認 if strsize=-1 { ;ない場合はiniファイルを作る(初回起動時) gosub *iniSave return } //iniファイルから設定を読み込み FileSavePos = _GetPrivateProfileString("data", "FileSavePos", "", inipass) FileSaveExt = _GetPrivateProfileString("data", "FileSaveExt", "", inipass) LyricsMasterPass = _GetPrivateProfileString("data", "LyricsMasterPass", "", inipass) FileNameFilter = _GetPrivateProfileString("data", "FileNameFilter", "", inipass) FIleNameFilterRegExpCheck = _GetPrivateProfileInt("data", "FIleNameFilterRegExpCheck", 0, inipass) Option_CheckerPoint = _GetPrivateProfileInt("data", "CheckerPoint", 0, inipass) Option_WeightTitle = _GetPrivateProfileInt("data", "WeightTitle", 0, inipass) Option_WeightArtsit = _GetPrivateProfileInt("data", "WeightArtsit", 0, inipass) Option_WeightAlbum = _GetPrivateProfileInt("data", "WeightAlbum", 0, inipass) Option_WeightTime = _GetPrivateProfileInt("data", "WeightTime", 0, inipass) return ; ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ; 設定を保存 ;_______________________________________ *iniSave //iniファイルへデータを保存 ;設定を保存 WritePrivateProfileString "data", "FileSavePos", FileSavePos, inipass WritePrivateProfileString "data", "FileSaveExt", FileSaveExt, inipass WritePrivateProfileString "data", "LyricsMasterPass", LyricsMasterPass, inipass WritePrivateProfileString "data", "FileNameFilter", FileNameFilter, inipass WritePrivateProfileString "data", "FIleNameFilterRegExpCheck", str(FIleNameFilterRegExpCheck), inipass WritePrivateProfileString "data", "CheckerPoint", str(Option_CheckerPoint), inipass WritePrivateProfileString "data", "WeightTitle", str(Option_WeightTitle), inipass WritePrivateProfileString "data", "WeightArtsit", str(Option_WeightArtsit), inipass WritePrivateProfileString "data", "WeightAlbum", str(Option_WeightAlbum), inipass WritePrivateProfileString "data", "WeightTime", str(Option_WeightTime), inipass return // ///////////////////////////////////////////////////////////////////////////// *@ ;// LyricsMaster検索中、詳細を表示する窓 作成 ////////////////////////////////// gi_sel = ginfo_sel ;あとで描画IDを戻す ;//LyricsMasterで検索中、どのサイトから歌詞を拾えば良いかを表示する窓を作成 bgscr WindowID_ShowSite, ginfo_dispx,50, 2, 0,0 color 0,0,0 :boxf :color 255,255,255 // 拡張ウィンドウスタイルに WS_EX_LAYERED | WS_EX_TRANSPARENT を追加適用 GetWindowLong hwnd, GWL_EXSTYLE SetWindowLong hwnd, GWL_EXSTYLE, stat | $80000/*WS_EX_LAYERED*/ | WS_EX_TRANSPARENT // 第3パラに透明度 (アルファ値の範囲 0〜255) bAlpha = 255 * 75 / 100 ;透明度75% SetLayeredWindowAttributes hwnd, 0, bAlpha, 2/*ULW_ALPHA*/ ; ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ; LyricsMaster検索中、詳細表示窓に書き込むマクロ ;_______________________________________ #define global mes_ShowSiteWindow(%1) gi_sel = ginfo_sel :gsel WindowID_ShowSite :color :boxf :color 255,255,255 :pos 5,5 :mes %1 :gsel gi_sel gsel gi_sel ;描画IDを戻す
|