seriousstas
Цитата:
Привет Слава !
Скажи, что там внутри SkinMediaTitle.exe еще ?
постановка на паузу во время звонка , управление кнопками возможно ..
|
Привет Стас

!
Там довольно простой скрипт берущий
Title окна и отправляющий его в Икар.
Меня это натолкнуло на мысль добавить такую возможность в сборку, а так же еще в управляющий скрипт подмены DSPlayer.
Теперь транслирую в Икар из сборки название трека и тех.инфу, а из ПотПлеера Title его окна т.е. название проигрываемого видео.
Возможно еще в сборку добавлю кнопку быстрого перехода в Икар... но пока еще думаю где ее разместить

.
на примере ПотПлеера работает примерно так(Автоит):
так выглядит...
код...
Код:
$pot_window_title_prev = ""
;цикл с поверками
$hWnd = WinGetHandle("[CLASS:PotPlayer]")
$pot_title = WinGetTitle($hWnd)
$pot_window_title = StringReplace($pot_title, " - PotPlayer", "")
$pot_window_title_prev = $RRSDK.getinfo("=$CurrentSkinMediaTitle$")
If ($pot_window_title_prev <> $pot_window_title) Then $RRSDK.execute("SETVAR;CurrentSkinMediaTitle;" & $pot_window_title)
$pot_window_title_prev = $pot_window_title
;цикл с поверками
В сборке код немного доработал для возможности запуска сборки без Икара, и дополнил отправкой тех.инфы трека.
В панели МПС сборки фубара
код выглядит так:
Код:
var is_rr_on = true;
try {
var rr = new ActiveXObject("RideRunner.sdk");
} catch (e) {
is_rr_on = false;
}
var foob_window_title_prev = "";
var foob_media_info = "";
is_rr_on ? title_check_timer = window.CreateTimerInterval(3000) : title_check_timer = false && title_check_timer.Dispose;
function on_playback_new_track() {
is_rr_on && title_set();
}
function on_playback_dynamic_info_track() {
is_rr_on && title_set();
}
function on_timer(id) {
if (title_check_timer && id == title_check_timer.ID) {
title_set();
}
}
function title_set() {
tf_info = fb.TitleFormat("[$info(encoding)][ • $info(codec)][ $info(codec_profile)][ • $info(bitrate) kbps][ • $info(samplerate) Hz][ • $info(bitspersample) bps][ • $channels()]$if($stricmp($ext(%filename_ext%),cue), • '['cue']',[ • %filesize_natural%])$if($strcmp($info(cue_embedded),yes), • '['embedded cue']',)").Eval();
tf_artist = fb.TitleFormat("$upper([%artist%])").Eval();
tf_title = fb.TitleFormat("$upper([%title%])").Eval();
tf_txt = tf_artist + (tf_artist != "" ? " – " : "") + tf_title;
foob_window_title = tf_txt;
foob_media_info = tf_info;
foob_window_title_prev = rr.getinfo("=$CurrentSkinMediaTitle$");
foob_media_info_prev = rr.getinfo("=$CurrentSkinMediaInfo$");
if (foob_window_title_prev != foob_window_title) {
rr.execute("SETVAR;CurrentSkinMediaTitle;" + foob_window_title);
foob_window_title_prev = foob_window_title;
}
if(foob_media_info_prev != foob_media_info){
rr.execute("SETVAR;CurrentSkinMediaInfo;" + foob_media_info);
foob_media_info_prev = foob_media_info;
}
}
Но для отображения тех.инфы нужно править файл 1_cf_70.txt Икара, нужно заменить лабели на эти...
Код:
L,217,60,590,50,#cf_FontBarRed#,#cf_FontBarGreen#,#cf_FontBarBlue#,20,#cf_FontBarStyle#,"=$CurrentSkinMediaTitle$","SCROLL-CENTER"
L,217,87,590,50,#cf_FontBarRed#,#cf_FontBarGreen#,#cf_FontBarBlue#,13,#cf_FontBarStyle#,"=$CurrentSkinMediaInfo$","SCROLL-CENTER"
