PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   АвтоЗвук (http://pccar.ru/forumdisplay.php?f=16)
-   -   сборка/тема foobar 2000 для CarPС (http://pccar.ru/showthread.php?t=19671)

duzzy 23.05.2018 17:27

Евген_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 06.06.2018 16:59

Перекомпилил с более свежим сдк(SDK-2015-08-03) (других изменений не делал)
один старенький классный плагин
VLevel --- Volume Leveling Plugin
в папке фубара называется foo_dsp_vlevel

VLevel - динамический компрессор, который усиливает тихие части музыки

Классная штука , не понятно почему на него забили на гидрогене... ???

Пихнуть в цепочку ДСП и старая музыка зазвучит по новому :band:
Сначала покажется что эффекта нет, попробуйте классику или альтернативу с норм. вокалом, ну или на одном треке добавлять или удалять из цепочки ДСП этот плагин. Разницу почувствуете сразу))

Страничка на гидрогене

Скачать мою компиляцию

Исходники(оригинал)
Если у кого то будет интерес что то поправить или переделать могу скинуть свою версию для VS2015.
...

seriousstas 07.06.2018 23:31

Цитата:

Сообщение от duzzy (Сообщение 402031)
seriousstas
Очень даже оптимальна))
Думаю что добавлю в переключалку устройств старый вариант, т.е. получать устройства автоматом а переключать по старой схеме :smile1:

Привет!
А с этим ,как быть (точнее с кириллицей), хотя на Твоих скринах верно отображает:
Код:

[
    {
        "active": true,
        "device_id": "{00000000-0000-0000-0000-000000000000}",
        "name": "DS : \u041f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440",
        "output_id": "{D41D2423-FBB0-4635-B233-7054F79814AB}"
    }
]

Нужно попробовать нарисовать)
::::
это консоль так .. , рисует норм..
Посмотрел , на домашнем - у меня устройств куча .. выводить все - не лучший способ.
Думаю , как-то по другому (не списком) сделать...

duzzy 09.06.2018 00:15

seriousstas

Привет !

кирила показывает так...
http://jpegshare.net/thumbs/1e/6b/1e...4ded280810.jpg

вызов возвращает JSON array, поэтому нужно парсить результат JSON.parse()

out_dev = fb.GetOutputDevices(); --- берем так
out_dev_arr = JSON.parse(out_dev); --- парсим

свойства для проверки:
out_dev_arr[0].active --- активно уст-во или нет
out_dev_arr[0].name --- название уст-ва

Цитата:

Посмотрел , на домашнем - у меня устройств куча .. выводить все - не лучший способ.
Думаю , как-то по другому (не списком) сделать...
Фигня в том что список то всеравно придется получать чтоб потом с ним что то делать. Можно конечно вычленять, но нужно ли.

Старый вариант тоже прекрасно работает и не тратит ресурсы :smile2:, нужно только один раз добавить устройства.
Новый ничем не лучше, только работает автоматом.

Можешь попробовать назначать на кнопки полученные устройства, т.е. получил устройства, затем показал что за устройства и выбрал нужные устройства, затем запомнил в Properties... других вариантов пока не пришло в голову.
__________________________________________________ _

Кстати до Петра дошло что не всем нужна версия 1.4, уже 1.3.18 beta 2 есть.
Я остаюсь на 1.3 в 1.4 ДСП настраивать не реально, да и реальных улучшений я для себя не нашел.
Сборку для 1.4 сделаю(она и так есть просто жду релиза).

seriousstas 09.06.2018 00:38

duzzy
Цитата:

кирила показывает так...
Я понял, вчера поковырял Марковские примеры из доков..
Цитата:

получил устройства, затем показал что за устройства и выбрал нужные устройства, затем запомнил в Properties...
Именно об этом и думал, перед тем, как уснуть))
Сегодня поэкспериментирую, руки дошли...
Цитата:

ДСП настраивать не реально
Это да, но ,как показала практика и учитывая портабельность сборок ,
народ вначале готовит сборку дома, затем переносит папку с флехи..Я ДСП - раз настроил и клацаю)

duzzy 09.06.2018 02:10

seriousstas

Цитата:

Я понял, вчера поковырял Марковские примеры из доков..
Я особо заморачиваться не стал, списком вывожу, и уст-ва и ДСП.
Панели редко используемые и так хватит))
Цитата:

Именно об этом и думал, перед тем, как уснуть))
)) Как говорится, мысли сходятся)))
Можно еще попробовать сравнивать по каким то параметрам(типо как по маске), то что ненужно будет исключено. Т.е типо уст-в: Null output, дублей DS...
Но тут тоже гемор, одни уст-ва кому то нужны а кому то нет. Null output тоже используется при определенном выводе...

Цитата:

народ вначале готовит сборку дома, затем переносит папку с флехи..Я ДСП - раз настроил и клацаю)
Проблема в том что если есть разбивка на каналы, то дома уже не настроишь нужно слышать то что настраиваешь. И тут возникает гемор в виде нового интерфейса в диалоге ДСП, в 1.3 без проблем можно настроить пальцем, в 1.4 даже мышкой это сделать сложно. Я Петру видос делал по разнице и удобству клацанья мышью в ДСП 1.3 и 1.4, но его он не сильно впечатлил))). А так да если без разбивки то можно и дома настроить.

seriousstas 09.06.2018 04:15

Цитата:

ненужно будет исключено. Т.е типо уст-в: Null output, дублей DS
Еще-б знать какие дубли убирать))
У меня есть идея ..Завтра попробую
Цитата:

списком вывожу, и уст-ва и ДСП.
Кстати готовый пример списка..

-=zds=- 10.06.2018 14:46

Разобрался с размером окна после выхода из гибернизации, проблема была не столько в сборке, так как у меня было два ярлыка и оба запускали сборку с разными настройками, я так и не понял с чем это связанно, но я удалил все и заново поставил сборку, затем задал минимальный размер окна равный разрешению и размер перестал уходить. Но из этого теперь две другие проблемы вылились, теперь сборка залезает на меню пуск, его не видно, из за чего нельзя свернуть сборку, и вторая более существенна, это бывает при выходе из гибернизации отображается только нижняя строка с конпками, остальное все черное,помогает только перезапуск сборки.

Что хотелось бы видеть в обновлении:
1. выделение в плейлисте уходит и кнопками вверх/вниз нельзя передвигаться по плейлисту, хотелось бы чтобы всегда был активен плейлист, либо после долгого ничего не делания, он активировался, надеюсь понятно объяснил
2. я раньше пользовался osd плагином, он отображал все действия поверх всего как псевдоosd, название песен выводил при переключении и громкость при изменении, не планируете добавить такой плагин? Очень удобно особенно когда фубар свернут в трей

seriousstas 10.06.2018 15:22

Цитата:

теперь сборка залезает на меню пуск, его не видно, из за чего нельзя свернуть сборку
как вариант , можно дважды тапнуть по названию сборки 4ICar
и она свернется
Цитата:

это бывает при выходе из гибернизации отображается только нижняя строка с конпками, остальное все черное,помогает только перезапуск сборки.
Это всегда при гибернации или режиме СНА и я писал об этом Ткбе в личку:
Цитата:

По обычной версии , после длительного сна - кнопки (панели)
все равно не работают (ни в моей сборке , ни в любой другой).
В сборках есть таймеры и они синхронизируются с системным временем.
Если время ушло вперед - таймер пытается его догнать и все подвисает..
РЕШЕНИЯ ДВА:
Перезапускать можно в Икаре (там встроена такая возможность).
Или скриптом, который можно положить в автозагрузку.
По другим вопросам (по 4iCar) отвечу сюда

GreenRabbit 14.06.2018 21:55

Доброго времени суток, Уважаемые!

Скачал 4Icar_14_4_Light из соседней темы.
Пароль еще раздается или уже платно?


Часовой пояс GMT +4, время: 10:48.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot