F4C (foobar2000 for CarPC)

Список разделов Аудиоплеер foobar2000 Сборки Релизы сборок

Описание: Проверенные финальные версии сборок.

Сообщение #201 macarych » 29.09.2014, 11:54

Мне кажется этот режим так реализован программно, то есть, хотите рандом - так получайте. Сборка или нет- не имеет значение, так автор плеера сделал. Попробуйте проведите эксперимент, как это работает в дефолтном плеере и еще в каких-нибудь сборках.

Добавил в шапку addon 7 inch (ex 4.3.1).
macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #202 rexx » 03.10.2014, 15:58

Уважаемый macarych!
Ваши сборки 7inch использую давно и мне они очень нравятся. Но никак не могу решить одну проблему, может что-нибудь посоветуете.
Дело в том, что я хочу свести к минимуму использование тача в автомобиле во время движения. Управляю F2k с помощью спец. джойстика и рулевых кнопок через хоткеи. Т.е. основная идея управлять F2k только через эмуляцию нажатий клавиатуры. В связи с этим у меня несколько вопросов.

1. Напрямую смену панелей повесить на хоткеи у меня не получается. Приходится использовать "костыль" AutoIt, что бы привязать эмуляцию мышиного нажатия на кнопку смены панелей к хоткею. Возможно ли как то привязать к хоткею переключение панелей средствами самого F2k?

2. При переключении панелей не переходит "фокус" на выбранную панель. Т.е. я с помощью клавиатуры выбрал в библиотеке нужный альбом, отправил его в плэйлист и переключился соответственно на панель плэйлиста. После чего пытаясь в панели плэйлиста скролировать список вниз с помощью клавиатуры - ничего не происходит. Вернее происходит, но мы этого не видим - скролируется список в библиотеке, т.к."фокус" остался на этой панели. Что бы управлять панелью плэйлиста, я должен тапнуть на ней, после чего "фокус" будет на ней и все управляется. При переходе в панель библиотеки ситуация повторяется и приходится тапать уже по панели библиотеки.
Вот в этих дополнительных тапах и вся проблема, хочу их исключить полностью.
Возможно ли сделать так, что бы "фокус" перемещался за выбранной панелью?

С уважением...
rexx
Новичок
Репутация: 0
С нами: 5 лет

Сообщение #203 macarych » 03.10.2014, 16:25

rexx, развернутый ответ дать не готов. Все, что Вы обозначили, учитывал onv в своих сборках, я могу ошибаться, но кажется он под это дело джойстик специально приобретал, не помню точно, тогда мы уже отдельно, каждый свою, делали. Тут есть две его последние сборки, в соответствующем разделе, посмотрите, попробуйте, если еще не пробовали.
macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #204 logunarm » 22.10.2014, 17:52

Neutron v14.02.2013 ce можно как то прикрутить жанр чтоб отображал ?
logunarm
Новичок
Репутация: 0
С нами: 10 лет

Сообщение #205 macarych » 22.10.2014, 18:50

logunarm писал(а):Neutron v14.02.2013 ce можно как то прикрутить жанр чтоб отображал ?
Конечно можно, там используется ELPlaylist, сходите в тему по этому компоненту, почитайте как сделать и добавьте себе "жанр". Или скачайте сборку где это есть и посмотрите как это организовано.
Я никогда не использовал в плейлисте колонку "жанр", как и еще несколько других,и не собираюсь использовать, поэтому чтобы добавить для Вас "жанр" мне придется проделать приблизительно то что я Вам предложил, ну разве что времени у меня уйдет на это меньше. Вам не кажется что логичнее будет сделать это Вам самому?

Добавлено спустя 1 час 54 минуты:
Вижу что не кажется:-)
Забавно, а я уж было собрался предложить вариант где в плейлисте, посредством ПКМ, можно добавить или убавить любые колонки с любыми тегами.

phpBB [media]
macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #206 kgena_ua » 22.10.2014, 21:47

Я не понимаю зачем минусить автора сборки. Автор создал сборку, видит ее такой, и выложил для всеобщего пользования, без всяких там авторских прав. Нравиться - пользуйся. Хочешь внести свои изменения - да нет проблем, скрипты не заблокированы для чтения и редактирования (я такое видел). Был нормальный вопрос и нормальный ответ. Была не нормальная реакция на ответ.
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 55
Откуда: Украина, Днепр
Репутация: 453
С нами: 6 лет 6 месяцев

Сообщение #207 logunarm » 25.10.2014, 11:14

7 inch fb2k v1.3.3 addon расскажите как меняется размер окна ?
logunarm
Новичок
Репутация: 0
С нами: 10 лет

Сообщение #208 macarych » 25.10.2014, 16:13

logunarm,

Безымянный.jpg
macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #209 logunarm » 25.10.2014, 16:43

спасибо, а ещё можно настроить чтоб плеер качал обложки для альбомов ?
Вложения
Безымянный.png
logunarm
Новичок
Репутация: 0
С нами: 10 лет

Сообщение #210 macarych » 25.10.2014, 19:25

Для этого надо добавить WSH-панель с кодом который приведен ниже, при этом в папке плеера должна быть папка "marc2003", ее можно взять в сборке "neutron".

Код: Выделить всё
// ==PREPROCESSOR==
// @import "%fb2k_profile_path%marc2003\common6.js"
// @name "Now Playing"
// @author "marc2003"
// @feature "v1.4"
// @feature "watch-metadb"
// ==/PREPROCESSOR==

//VUMeter = new ActiveXObject("VUMeter");
//VUMeter.RegisterWindow(window.ID)
//first argument is any arbitrary text to name the panel. it will use in the console and popup boxes.
//seconds argument is an array of features. i'll post a full list of acceptable/required values at some point. it's mostly for handling right click menus.
var p = new panel("Now Playing", ["remap", "cd", "images"]);
//force the panel to always prefer the playing track regardless of selection
p.selection_mode = 1;
//setup a new cd cover: x, y co-ords and width & height
//var c = new cd(10, p.h - 190, 200, 200);
//setup rating, x, y co-ords and button size
//var r = new rating(220, p.h - 35, 24);
//note that because some co-ords are relative to panel size (p.w is width, p.h is height), we need to update these values in the on_size function later

//setup images, x, y, width, height,
var im = new images(0, 0, p.w, p.h);
//setup buttons
var b = new buttons();
b.update = function() {
   b.buttons = {
      //but1 etc can be anything except ps which i reserve for use in other scripts
      //first 4 values are x,y,w,h
      //next is the image name to use for a button in it's normal state. this image must exist in the marc2003\images folder
      //after that is the hover image. it's optional. you don't need to add a hover image. you could do this instead...
      //but1: new button(52, p.h - 50, 32, 32, {normal: "stop.png"}, function() { fb.Stop(); }, "Stop"),
      //next is the function to be called when the button is clicked. fb.XXX functions are limited to what's in the interfaces.txt documentation of the component.
      //lastly is just plain text to be used as the tooltip.
      //but1: new button(52, p.h - 50, 32, 32, {normal: "stop.png", hover: "stop_h.png"}, function() { fb.Stop(); }, "Stop"),
      //but2: new button(84, p.h - 50, 32, 32, {normal: !fb.IsPlaying || fb.IsPaused ? "play.png" : "pause.png", hover: !fb.IsPlaying || fb.IsPaused ? "play_h.png" : "pause_h.png"}, function() { fb.PlayOrPause(); }, !fb.IsPlaying || fb.IsPaused ? "Play" : "Pause"),
      //but3: new button(116, p.h - 50, 32, 32, {normal: "previous.png", hover: "previous_h.png"}, function() { fb.Prev(); }, "Previous"),
      //but4: new button(148, p.h - 50, 32, 32, {normal: "next.png", hover: "next_h.png"}, function() { fb.Next(); }, "Next")
   }
   
   //only add web link buttons if we have a valid selection
   if (p.metadb) {
      var artist = encodeURIComponent(p.eval("%artist%"));
      var title = encodeURIComponent(p.eval("%title%"));
      var myspace = "http://www.myspace.com/search/music?q=" + artist;
      var lastfm = "http://www.last.fm/music/" + artist + "/_/" + title;
      var youtube = "http://www.youtube.com/results?search_query=" + artist + "+" + title;
      var discogs = "http://www.discogs.com/search?q=" + artist;
      var allmusic = "http://www.allmusic.com/search/artists/" + artist;
      b.buttons.but5 = new button(p.w - 160, 0, 32, 32, {normal: "myspace.png", hover: "myspace_h.png"}, function() { p.browser(myspace); }, myspace);
      b.buttons.but6 = new button(p.w - 128, 0, 32, 32, {normal: "lastfm.png", hover: "lastfm_h.png"}, function() { p.browser(lastfm); }, lastfm);
      b.buttons.but7 = new button(p.w - 96, 0, 32, 32, {normal: "youtube.png", hover: "youtube_h.png"}, function() { p.browser(youtube); }, youtube);
      b.buttons.but8 = new button(p.w - 64, 0, 32, 32, {normal: "discogs.png", hover: "discogs_h.png"}, function() { p.browser(discogs); }, discogs);
      b.buttons.but9 = new button(p.w - 32, 0, 32, 32, {normal: "allmusic.png", hover: "allmusic_h.png"}, function() { p.browser(allmusic); }, allmusic);
   }
   //now we need to repaint just the area where the buttons are. i'm cheating by simply repainting the whole cd case as that contains all the buttons.
//   window.RepaintRect(c.x, c.y, c.w, c.h);
   //paint top right where web links are
   window.RepaintRect(p.w - 160, 0, 160, 32);
}

//setup 3 lines of text for the display. editing this should be self explanaotory. if you change the font sizes, adjustments may need
//to be made to the positions in the on_paint function
//var line1 = {text: "", tf: "%artist%", font: gdi.Font("Segoe UI", 30, 1), colour: RGB(225, 150, 20)}
//var line2 = {text: "", tf: "%title%", font: gdi.Font("Segoe UI", 22, 1), colour: RGB(225, 150, 20)}
//var line3 = {text: "", tf: "[[%album%] '('%date%')']", font: gdi.Font("Segoe UI", 18, 1), colour: RGB(225, 150, 20)}

//startup
on_item_focus_change();
b.update();

function on_playback_time(time) {
   //this function handles the cycling of images if enabled.
   im.playback_time(time);
}

function on_size() {
   //always call p.size to update the values of p.w and p.h
   p.size();
   //cd case y co-ord updated relative to bottom of panel
//   c.y = p.h - 190;
   //further updates to co-ords/sizes
//   r.y = p.h - 35;
   im.w = p.w;
   im.h = p.h;
   //b.buttons.but1.y = p.h - 50;
   //b.buttons.but2.y = p.h - 50;
   //b.buttons.but3.y = p.h - 50;
   //b.buttons.but4.y = p.h - 50;
   if (p.metadb) {
      b.buttons.but5.x = p.w - 160;
      b.buttons.but6.x = p.w - 128;
      b.buttons.but7.x = p.w - 96;
      b.buttons.but8.x = p.w - 64;
      b.buttons.but9.x = p.w - 32;
   }
}

function on_paint(gr) {
   //my own helper functions. note some things need to layered on top of each other.
   //first draw the background. you'll only see this if there are no images to display
   p.draw_background(gr);
   //now we draw the background image as everything else goes on top
   //im.images is an array of images. im.index is the current image. this value changes when scrolling the mouse or when cycling is enabled
   p.draw_image(gr, im.images[im.index], im.x, im.y, im.w, im.h, "crop top");
   //"crop" can also be "centre" or "stretch"
   //this function also takes 2 additional arguments: border colour and alpha eg.
   //a red border
   //p.draw_image(gr, im.images[im.index], im.x, im.y, im.w, im.h, "crop", RGB(255, 0, 0));
   //no border but alpha level of 128. values can be between 0 and 255
   //p.draw_image(gr, im.images[im.index], im.x, im.y, im.w, im.h, "crop", null, 128);
   //L=VUMeter.LeftLevel;
    //gr.FillSolidRect(0, p.h - 125, p.w*L, 125, RGBA(0, 0, 0, 120));
    //gr.FillSolidRect(p.w*L, p.h - 125, 2, 125, RGBA(225, 150, 20, 120));
   //draw the slightly transparent rectangle at bottom
   //gr.FillSolidRect(0, p.h - 125, p.w, 125, RGBA(0, 0, 0, 60));
   //draw the cd cover
   //c.draw(gr);
   //draw the buttons on top of the cd cover
   //
    b.draw(gr);
   //draw the rating panel
   //r.draw(gr);
   //draw the text. the last 4 values are x,y,w,h
   //p.left_text(gr, line1.text, line1.font, line1.colour, 20, p.h - 117, p.w - 160, 34);
   //p.left_text(gr, line2.text, line2.font, line2.colour, 20, p.h - 88, p.w - 160, 26);
   //p.left_text(gr, line3.text, line3.font, line3.colour, 20, p.h - 56, p.w - 160, 20);
}

function on_metadb_changed() {
   //call these functions when selection changes/tag updates are made
   //buttons. links are based off artist/track metadata
   b.update();
   //cd
//   c.metadb_changed();
   //rating
//   r.metadb_changed();
   //images
   im.metadb_changed();
   //only update text if we have a valid selection
//   if (p.metadb) {
//      line1.text = p.eval(line1.tf);
//      line2.text = p.eval(line2.tf);
//      line3.text = p.eval(line3.tf);
//   }
   window.Repaint();
}

//we need to update buttons whenever their state could be changed. as these are playback buttons, we need to call
//updates when this happens.

function on_playback_stop() {
   on_item_focus_change();
   b.update();
}

function on_playback_pause() {
   b.update();
}

function on_playback_starting() {
   b.update();
}

//function on_get_album_art_done(metadb, art_id, im, ip) {
   //used by cd cover for updates
//   c.get_album_art_done(im, ip);
//}

function on_mouse_wheel(step) {
   //this scrolls through multiple images
   im.wheel(step);
}

function on_mouse_move(x, y) {
   //we only need to call p.move if there elements in our panel which require scrollling as i need to track where the mouse is. do not return after it.
   p.move(x, y);
   //if mouse detected over rating, no point in checking the rest
//   if (r.move(x, y)) return;
   //buttons -update tooltips
   if (b.move(x,y)) return;
   //cd - tooltip
//   if (c.move(x, y)) return;
   //note the order. because the buttons are on top of the cd, we need to check that first
}

function on_mouse_lbtn_up(x, y) {
   //check for button clicks
   if (b.lbtn_up(x, y)) return;
   //check for rating clicks
//   if (r.lbtn_up(x, y)) return;
}

function on_mouse_lbtn_dblclk(x, y) {
   //double click to open images
   //cd
   if (c.lbtn_dblclk(x, y)) return;
   //image
   if (im.lbtn_dblclk(x, y)) return;
   //again we need to check order because the image covers the whole panel to we need to return if the cd was double clicked first
}

function on_mouse_rbtn_up(x, y) {
   //handles right click menu.
   p.rbtn_up(x, y);
   return true;
}

macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #211 logunarm » 26.10.2014, 10:24

macarych писал(а):Для этого надо добавить WSH-панель с кодом который приведен ниже, при этом в папке плеера должна быть папка "marc2003", ее можно взять в сборке "neutron".
где взять и как добавить эту WSH-панель я понятия не имею, расскажите подробней ?
logunarm
Новичок
Репутация: 0
С нами: 10 лет

Сообщение #212 macarych » 26.10.2014, 10:58

macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #213 logunarm » 26.10.2014, 12:44

macarych писал(а):

Сообщение #212 macarych » Сегодня, 10:58
Как добавить.
Брать здесь.
Про WSH.

всё так не понятно, можно указать путь куда что ? сборка очень понравилась и обложки очень нужны )
logunarm
Новичок
Репутация: 0
С нами: 10 лет

Сообщение #214 macarych » 26.10.2014, 13:29

logunarm,

phpBB [media]
macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #215 logunarm » 27.10.2014, 08:20

не знаю в чём проблема, но обложек нет. что не так ?
и как снизить чувствительность индикатора стрелки всегда показывают перегруз ?


Добавлено спустя 1 час 38 минут:
https://www.youtube.com/watch?v=l2k-BdUizr8&feature=youtu.be
хотел настроить как на этой сборке
Вложения
Безымянный.png
Безымянный.png
logunarm
Новичок
Репутация: 0
С нами: 10 лет

Сообщение #216 macarych » 27.10.2014, 15:56

logunarm писал(а):не знаю в чём проблема, но обложек нет. что не так ?
Ну может файервол блокирует процесс "art.exe".
как снизить чувствительность индикатора стрелки?
Жмакнуть мышью по индикатору и покрутить колесо, если не реагирует - через меню "View" запустить индикатор в отдельном окне и уже там жмакнуть и покрутить.
macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #217 logunarm » 30.10.2014, 21:32

в папке с муз файлами лежит файл изображения, так вот если к примеру это front.png то он не отображается, если front.jpg то отображается. как настроить плеер ?
Вложения
2.jpg
1.jpg
logunarm
Новичок
Репутация: 0
С нами: 10 лет

Сообщение #218 macarych » 30.10.2014, 21:52

2014-10-30_214727.jpg


В этом окне поменяйте jpg на *

и знаете что
Учите матчасть. Я насчитал 6 вопросов от Вас, все они общего свойства и ответы на них найти очень просто самому. Наше общение началось не совсем позитивно и, с учетом этого, мое терпенье закончилось, в дальнейшем я буду игнорировать Ваши вопросы.
macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Сообщение #219 Lexins » 05.12.2014, 17:56

Уж если встраивать в фронтенд, то хотелось бы убрать нижний ряд кнопок, так как они дублируют кнопки iCarDS:
Вложения
Снимок экрана 2014-12-05 в 16.46.10.png
Lexins
Новичок
Репутация: 0
С нами: 4 года 10 месяцев

Сообщение #220 macarych » 05.12.2014, 18:23

Lexins писал(а):Уж если встраивать в фронтенд, то хотелось бы убрать нижний ряд кнопок, так как они дублируют кнопки iCarDS:
Хотите убрать - убирайте, ПКМ по любой кнопке и в свойствах PSS меняете скрипт на нижеприведенный.

Код: Выделить всё
//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(hp,$sub(%ps_height%,35))
$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%,10),%img_path%\bg.png,nokeepaspect,,)
//$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,215,$sub(%ps_height%,55),$sub(%ps_width%,430),50)
//$movepanel_c(toolbar_2,215,$sub(%ps_height%,55),$sub(%ps_width%,430),50)
//$movepanel_c(toolbar_3,215,$sub(%ps_height%,55),$sub(%ps_width%,430),50)

macarych M
Автор темы, Гуру
Аватара
Репутация: 360
С нами: 10 лет 9 месяцев

Пред.След.

Вернуться в Релизы сборок