Показать сообщение отдельно
Старый 29.01.2017, 20:50   #3130
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

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"
duzzy вне форума   Ответить с цитированием