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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   iCarDS (http://pccar.ru/forumdisplay.php?f=121)
-   -   iCarDS+Foobar2000 (http://pccar.ru/showthread.php?t=14176)

Bersenev 01.12.2014 09:22

Цитата:

Сообщение от Lexins (Сообщение 312516)
Как применить такой же алгоритм, как при ручной регулировке громкости?

Вроде удалось исправить, правда я не гарантирую что в результате не сломается что то другое, поэтому надо тестировать https://cloud.mail.ru/public/140ddad...S_1_7_0_54.rar

Lexins 01.12.2014 12:40

Цитата:

Сообщение от Bersenev (Сообщение 312594)
Вроде удалось исправить, правда я не гарантирую что в результате не сломается что то другое, поэтому надо тестировать https://cloud.mail.ru/public/140ddad...S_1_7_0_54.rar

Проверил, действительно работает, буду тестировать дальше.
Огромное Спасибо.

Lexins 09.12.2014 19:26

Есть ли возможность прикрутить к фабару полоску, которая показывает длину трека, как в стандартном муз.плеере (пометил красным на скрине)
https://dl.dropboxusercontent.com/u/11238311/1234.png

macarych 10.12.2014 23:49

Цитата:

Сообщение от Lexins (Сообщение 313118)
Есть ли возможность прикрутить к фабару полоску, которая показывает длину трека, как в стандартном муз.плеере (пометил красным на скрине)

Сначала Вы просите от нее избавится, потом вернуть обратно...

Код:

//7 inch v4.5.for iCar by macarych

$set_ps_global(color3,225-150-20)
$set_ps_global(color2,96-96-96)
$set_ps_global(color0,60-60-60)
$set_ps_global(color4,225-150-20-60)
$set_ps_global(color5,225-150-20-40)
$set_ps_global(color1,$if(%isplaying%,$if(%ispaused%,%color2%,%color4%),%color2%))
$set_ps_global(color6,$if(%isplaying%,$if(%ispaused%,%color2%,%color3%),%color2%))
//
$set_ps_global(xp1,15)
$set_ps_global(yp,15)
$set_ps_global(wp,$sub(%ps_width%,30))
$set_ps_global(hp,$sub(%ps_height%,85))
$set_ps_global(img_path1,%ps_foobar2000_path%\themes\off)
$set_ps_global(img_path2,%ps_foobar2000_path%\themes\on)
$set_ps_global(img_path,$if(%isplaying%,$if(%ispaused%,%img_path1%,%img_path2%),%img_path1%))
$set_ps_global(rs,$sub(%ps_width%,%ps_height%))
//
$fillrect(0,0,%ps_width%,%ps_height%,60-60-60)
$drawimage(5,5,$sub(%ps_width%,10),$sub(%ps_height%,65),%img_path%\bg.png,nokeepaspect,,)
//
$textbutton(0,0,1,1,,,COMMAND:Help/About)
//
//$imagebutton(5,$sub(%ps_height%,55),50,50,%img_path%\3n.png,%img_path%\3h.png,COMMAND:Playback/Previous)
//$if(%isplaying%,
//    $if(%ispaused%,
//    $imagebutton(75,$sub(%ps_height%,55),50,50,%img_path%\4n.png,%img_path%\4h.png,COMMAND:Playback/Play or pause),
//    $imagebutton(75,$sub(%ps_height%,55),50,50,%img_path%\5n.png,%img_path%\5h.png,COMMAND:Playback/Play or pause)),
//  $imagebutton(75,$sub(%ps_height%,55),50,50,%img_path%\4n.png,%img_path%\4h.png,COMMAND:Playback/Play or pause)
//)
//$imagebutton(145,$sub(%ps_height%,55),50,50,%img_path%\6n.png,%img_path%\6h.png,COMMAND:Playback/Next)
//
$if($isvisible_c(main_panel_1),
    $imagebutton($sub(%ps_width%,125),$sub(%ps_height%,55),50,50,%img_path%\7n.png,%img_path%\7h.png,PANELSHOW:main_panel_1:0;PANELSHOW:main_panel_3:0;PANELSHOW:main_panel_2:1;REFRESH),
    $if($isvisible_c(main_panel_2),
    $imagebutton($sub(%ps_width%,125),$sub(%ps_height%,55),50,50,%img_path%\71n.png,%img_path%\71h.png,PANELSHOW:main_panel_1:0;PANELSHOW:main_panel_2:0;PANELSHOW:main_panel_3:1;REFRESH),
    $imagebutton($sub(%ps_width%,125),$sub(%ps_height%,55),50,50,%img_path%\72n.png,%img_path%\72h.png,PANELSHOW:main_panel_2:0;PANELSHOW:main_panel_3:0;PANELSHOW:main_panel_1:1;REFRESH)
    )
)
//
$if($isvisible_c(toolbar_1),
    $imagebutton($sub(%ps_width%,195),$sub(%ps_height%,55),50,50,%img_path%\8n.png,%img_path%\8h.png,PANELSHOW:toolbar_1:0;PANELSHOW:toolbar_3:0;PANELSHOW:toolbar_2:1;REFRESH),
    $if($isvisible_c(toolbar_2),
    $imagebutton($sub(%ps_width%,195),$sub(%ps_height%,55),50,50,%img_path%\55n.png,%img_path%\55h.png,PANELSHOW:toolbar_1:0;PANELSHOW:toolbar_2:0;PANELSHOW:toolbar_3:1;REFRESH),
    $imagebutton($sub(%ps_width%,195),$sub(%ps_height%,55),50,50,%img_path%\19n.png,%img_path%\19h.png,PANELSHOW:toolbar_2:0;PANELSHOW:toolbar_3:0;PANELSHOW:toolbar_1:1;REFRESH)
    )
)
$imagebutton($sub(%ps_width%,55),$sub(%ps_height%,55),50,50,%img_path%\1n.png,%img_path%\1h.png,COMMAND:View/Popup Main Menu)
//
$movepanel_c(main_panel_1,%xp1%,%yp%,%wp%,%hp%)
$movepanel_c(main_panel_2,%xp1%,%yp%,%wp%,%hp%)
$movepanel_c(main_panel_3,%xp1%,%yp%,%wp%,%hp%)
$movepanel_c(toolbar_1,5,$sub(%ps_height%,55),$sub(%ps_width%,220),50)
$movepanel_c(toolbar_2,5,$sub(%ps_height%,55),$sub(%ps_width%,220),50)
$movepanel_c(toolbar_3,5,$sub(%ps_height%,55),$sub(%ps_width%,220),50)

будет вот так

Lexins 11.12.2014 00:35

Цитата:

Сообщение от macarych (Сообщение 313229)
Сначала Вы просите от нее избавится, потом вернуть обратно...
будет вот так

Это не одно и тоже, хочется стандартную полоску икара

macarych 11.12.2014 01:10

ОК. Будет время - сделаю такой вариант: 2 окна (если без стрелок), отображаются поочередно, 1 - плейлист и снизу (или сверху) тонкая полоска прогресса проигрывания, 2 - библиотека и прогресс (3 - если нужно, стрелки) и никаких кнопок. Клик по прогрессу меняет, циклом, плейлист и библиотеку.
Обращаюсь ко всем - делать? будет это удобно в использовании?

Lexins 11.12.2014 08:24

macarych, Вы меня не так поняли. Мой вопрос не касается сборки фубара, меня полностью устраивает ее внешний вид в данный момент. Хотелось бы прикрутить прогрессбар iCar'a, если есть такая возможность. Надеюсь разработчики нас слышат;

Bersenev 11.12.2014 12:30

Цитата:

Сообщение от Lexins (Сообщение 313118)
Есть ли возможность прикрутить к фабару полоску, которая показывает длину трека, как в стандартном муз.плеере (пометил красным на скрине)

В икаре есть возможность создать свой показатель (label) и на основе его сделать слайдер. Допустим показатель будет !foobar_trackpos, тогда слайдер будет выглядеть так

S,228,93,566,10,212,55,600,55,,01,,10,"Label;!foobar_trackpos;0;100;1",""

Задать значение показателя можно командой SetLabel;!foobar_trackpos;50

Для передачи значения показателя из фубара в икар есть такие варианты:

1. Скрипт AutoIt, но в этом случае слайдер или значение позиции должно быть в окне фубара. Примерно как реализован скрипт SkinMediaTitle.exe

2. Компонент фубара, который передаёт данные в икар, в этом случае можно передавать в икар всё что угодно, а не только позицию трека.

Lexins 11.12.2014 14:15

Цитата:

Сообщение от Bersenev (Сообщение 313281)
Задать значение показателя можно командой SetLabel;!foobar_trackpos;50

Можно, пжл, поподробнее, как выполнить это действие?

Bersenev 11.12.2014 14:59

Цитата:

Сообщение от Lexins (Сообщение 313294)
Можно, пжл, поподробнее, как выполнить это действие?

Если речь про AutoIt, то вот исходник SkinMediaTitle.au3, а если про компонент для фубара, то всё зависит от того на чём его писать.

Код:

_Main()

Func _Main()

    $rr = ObjCreate("RideRunner.sdk")

    Global $IsWork = 1    ; Ключ цикла, выполнять пока равно 1
    Global $IsRun = 0    ; Ключ запуска окна, если 0 окно ещё не найдено

    Global $name = ""    ; Имя окна, которое необходимо перехватить
    Global $namecontrol = ""    ; Имя окна, которое необходимо перехватить
    Global $FoobarWindowTitlePrev=""

    If $CmdLine[0] = 0  Then
        $IsWork = 0
    Else
        If $CmdLine[0] > 0  Then $name = $CmdLine[1]
        EndIf


    While $IsWork

        Opt("WinTitleMatchMode", 2)

        $handle = WinGetHandle($name)    ; Ищем окно с заданным именем
        If @error Then
            If $IsRun Then
                $IsWork = 0
            EndIf ; если окно не найдено, а ключ запуска окна установлен в 1, т.е. окно закрыто, то сбросить ключ выхода для завершения скрипта
        Else
            $IsRun = 1    ; если окно найдено устанавливаем ключ запуска окна
            $FoobarWindowTitle = WinGetTitle($handle)
            $FoobarWindowTitlePrev = $rr.getinfo("=$CurrentSkinMediaTitle$")
            If $FoobarWindowTitlePrev <> $FoobarWindowTitle Then $rr.Execute("SETVAR;CurrentSkinMediaTitle;" & $FoobarWindowTitle)
            $FoobarWindowTitlePrev = $FoobarWindowTitle
        EndIf


        $state = WinGetState($name, "")
        If BitAnd($state, 2) Then
            $CurrentApp = $rr.getinfo("=$CurrentApp$")
            $SkinMediaId = $rr.getinfo("=$SkinMediaId$")
            $SkinMediaN = $rr.getinfo("=$SkinMedia" & $SkinMediaId & "$")

            If $CurrentApp <> $SkinMediaN Then
                $rr.Execute("Activate;iCar DS")
            EndIf
        EndIf

        Sleep(500)
    WEnd
EndFunc  ;==>_Main



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

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