Показать сообщение отдельно
Старый 23.05.2018, 17:27   #3421
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
По умолчанию

Евген_21
Цитата:
Интересная идея. Но и Стаса, понимаю. Много нужно будет переделывать.
Привет
Вы меня как то не так поняли)))
Это не навязывание чего то другого для использования, это лишь еще один вариант/пример использования JScript Panel в связке с Икаром.
Это не идея это полностью рабочий механизм взаимодействия двух программ.

Цитата:
Вообщем как сделать , чтоб позицию трека можно было менять как это реализовано в iCar с родным плеером?
Отправлять икару время трека можно в этом колбеке JS фубара...
Код:
function on_playback_time(time) {
// called every second, for time display.
// time - float value, in sec.
	if (fb.IsPlaying && (fb.PlaybackLength > 0){
                         rr.execute("SETVAR;переменная слайдера икара;" + time);       
    }
};
и
тут обнулять переменную икара для того чтоб слайдер был в 0 при переключении на новый трек
Код:
 function on_playback_new_track() {       
              rr.execute("SETVAR;переменная слайдера икара;" + "0");       
};
А со сменой позиции из икара надо подумать как лучше сделать.
Этот вариант тоже подойдет...

Вариант 1: Более сложный. Нужно чтоб слайдер икара записал в переменную "foobar_trackpos" свое значение, js скрипт считает значение переменной "foobar_trackpos" и передвинет время трека в фубаре...

Вариант 2: Более простой, отправляем команду "foobar_trackpos", js ее получает и запускает механизм считывания время слайдера из икара, т.е. тупо читаем значение слайдера... ниже пример, переменная icar_slider_pos это переменная слайдера икара(т.е. переменная из самого икара которую нужно прописать в js скрипте)
Код:
case 'foobar_trackpos':
         rr.execute("SETVAR;SENDFB2K;0");//---обнуляем  
          var icar_slider_pos = rr.getinfo("=$icar_slider_pos$");//---читаем переменную икара
         if(icar_slider_pos != ""){      
                fb.PlaybackTime = icar_slider_pos;//---выставляем позицию трека
          };
        //fb.PlaybackTime; (double) (read, write)
        // example: fb.PlaybackTime = 60;
        // jumps to the 1 minute mark.
        break;
Загвоздка в том что я не в курсе как работать со слайдерами в икаре какие переменные нужно читать, какой командой они выставляются в икаре, если примерно так SETVAR;"переменная слайдера";"значение/позиция слайдера" то все просто.
Еще не понятно в каком формате икару нужны цифры... пример одной минуты(1 минута) 00:60 или 60 или 0060 или 60000 ...
В общем от тебя нужна инфа
- Какие переменные нужны для слайдера в икаре(они могут быть своими или жестко прописаны) ?
- Какая команда выставляет слайдер в икаре(SETVAR или еще что то) ?
- Какой формат времени нужен икару для слайдера ?



Пример из фубаровского сикбара на JS...
fb.PlaybackTime = fb.PlaybackLength * (x - seek_x) / seek_w;
выставляем время = длина трека * (X - положение переменной X на сикбаре) / ширину сикбара;
...
duzzy вне форума   Ответить с цитированием