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

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ > Программы управления > iCarDS

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2015, 22:36   #1841
kgena_ua
Пользователь
 
Регистрация: 14.02.2015
Возраст: 60
Регион: Украина
Машина: subaru forester
Сообщений: 54
kgena_ua is on a distinguished road
По умолчанию

Цитата:
Сообщение от duzzy Посмотреть сообщение
kgena_ua
а нельзя ли сделать анимацию перехода панелей просто по таймеру без функции on_paint?
duzzy. а вот пробую:
Код:
function RGB(r,g,b) { return (0xff000000|(r<<16)|(g<<8)|(b)); }

var font = gdi.Font("Arial",12,1);
var ww = window.Width, wh = window.Height;;

DT_LEFT = 0x00000000;
DT_CENTER = 0x00000001;
DT_VCENTER = 0x00000004;
DT_SINGLELINE = 0x00000020; 
DT_WORD_ELLIPSIS = 0x00040000;

var panel = window.GetProperty("panel",0);
var c_panel = panel, n_panel;
var panels = 2;
var old_panel = panel;
var dir_move, move = false;

var y = 50;
var c_x = 0;
var n_x = 0;
var c_ww = 0;
var n_ww = 0;
var timer; 

var step_c = window.GetProperty("step_c", 10);
var step_n = window.GetProperty("step_n", 8);

pss.GetPanel(0).Show(true);   /// тут фигня какая-то, почему не отображается
pss.GetPanel(0).Move(c_x, y, window.Width, window.Height - y, true);

function on_paint(gr) {
	gr.FillSolidRect(0, 0, ww, wh, RGB(60,68,79));
	
	gr.GdiDrawText("1", font, RGB(250,250,250), 0, 0, ww / 3, y, DT_SINGLELINE | DT_CENTER | DT_VCENTER | DT_WORD_ELLIPSIS );
	gr.GdiDrawText("2", font, RGB(250,250,250), ww / 3, 0, ww / 3, y, DT_SINGLELINE | DT_CENTER | DT_VCENTER | DT_WORD_ELLIPSIS );	
	gr.GdiDrawText("3", font, RGB(250,250,250), ww / 3 * 2, 0, ww / 3, y, DT_SINGLELINE | DT_CENTER | DT_VCENTER | DT_WORD_ELLIPSIS );	

	dim();

//	pss.GetPanel(c_panel).Show(true);
//	pss.GetPanel(c_panel).Move(c_x, y, window.Width, window.Height - y, true);
	
//	if (dir_move == "right" ? n_x < 0 : n_x > 0) {
//		pss.GetPanel(n_panel).Show(true);
//		pss.GetPanel(n_panel).Move(n_x, y, n_ww, wh - y, true);
//	}

gr.GdiDrawText(panel, font, RGB(250,250,250), 0, 0, ww/2, y, DT_SINGLELINE | DT_CENTER | DT_VCENTER | DT_WORD_ELLIPSIS );	
}

function on_size(){
    ww = window.Width;   
    wh = window.Height;
}

function on_mouse_lbtn_down(x, y) {
	if (!move && on_mouse) {
		if (x >= 0 && x < ww / 3) {panel = 0};
		if (x >= ww / 3 && x <= ww / 3 * 2) {panel = 1};
	//	if (x >= ww / 3 * 2 && x <= ww) {panel = panel == 2 ? 3 : 2};
		
		if (x >= ww / 3 * 2 && x <= ww) {panel = panel == 3 ? 0 : panel + 1};

		dir_move = panel > old_panel ? "left" : "right";

		if (old_panel != panel) {
			move_panel();
			old_panel = panel
		}
	}
}

function on_mouse_wheel(delta) {
    if (pos_x >= ww / 3 * 2 && pos_x <= ww && on_mouse && !move) {	
		panel = panel == 3 ? 0 : panel + 1;
        
		dir_move = panel > old_panel ? "left" : "right";

		if (old_panel != panel) {
			move_panel();
			old_panel = panel
		}
    }
}

function move_panel() {
	n_panel = panel;

	dim();

	if (dir_move == "right" ? n_x = 0 - n_ww : n_x = c_ww);
	
	move = true;
	timer = window.CreateTimerInterval(10);
}

function on_timer(id) {
		if (dir_move == "left") {
			c_x = c_x - step_c;
			n_x = n_x - step_n;
		}
		if (dir_move == "right") {
			c_x = c_x + step_c;
			n_x = n_x + step_n;
		}
		
		pss.GetPanel(c_panel).Show(true);
		pss.GetPanel(c_panel).Move(c_x, y, window.Width, window.Height - y, true);
	
		if (dir_move == "right" ? n_x < 0 : n_x > 0) {
			pss.GetPanel(n_panel).Show(true);
			pss.GetPanel(n_panel).Move(n_x, y, n_ww, wh - y, true);
		}
		
		if (dir_move == "right" ? n_x >= 0 : n_x <= 0) {
//			pss.GetPanel(c_panel).Show(false);
//			window.SetProperty(c_panel,0);
//			window.SetProperty(n_panel,1);
			c_panel = n_panel;
			n_panel = null;
			c_x = 0;
			n_x = 0;
			timer.Dispose();
			move = false;
        }
	window.SetProperty("panel",panel);
	window.Repaint(); 
}

function dim() {
	n_ww = ww; 
	c_ww = ww; 
}

var pos_x;
var on_mouse = false;

function on_mouse_move(x, y) {
    on_mouse = true;
    window.SetCursor(32649);
    window.Repaint();
    pos_x = x;
}

function on_mouse_leave() {	
    on_mouse = false;
    window.SetCursor(32512);
    window.Repaint();
}
kgena_ua вне форума   Ответить с цитированием
Старый 18.08.2015, 23:11   #1842
Krysanov
Super Moderator
 
Аватар для Krysanov
 
Регистрация: 12.11.2013
Возраст: 45
Город: Горно-Алтайск
Регион: 04
Машина: lexus rx300
Сообщений: 3,148
Krysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to behold
По умолчанию

Цитата:
Сообщение от kgena_ua Посмотреть сообщение
Krysanov, на этот вопрос вряд ли кто-то сразу сможет ответить. Для начала нужно смотреть, что прописано в строке 3446 скрипта.
Для начала, смущает строка, где прописан путь к *.js
В начале скрипта должны быть строки // ==PREPROCESSOR== .... и т.д., где прописаны пути к *.js файлам. Там скорей всего написано Foobar2000\marc2003\....., вряд ли в Вашей сборке есть папка Foobar2000\marc2003\....., проверьте пути к файлам *.js
Ок, странно, это сборка 11.4 заметил на домашнем ноуте.. Никуда не лазил ... Может антивирусник что то удалил?
__________________
Windows 8.1, 64 бит, iCar DS 1.7.0.60
LGA 1155 Intel(R) Core(TM) i5-3570 CPU @ 3,4 GHz (6 Mb), 2x DDRIII 4Gb 1333 MHz KINGMAX, ASRock IntelB75, VGA (DVI+HDMI)+PCX16 3,0, SSD TOSHIBA OCZ tr150 на 240 GB, 2,5 Samsung SATA 1 Tb 5400 rpm, 8Mb, M4-atx -hv
Проект Кристалл-М=многоканальный звук в Lexus rx300 на базе CarPC!
Установка Windows, iCarDS и всего, что необходимо для CarPC!
_________________________________________

Krysanov вне форума   Ответить с цитированием
Старый 19.08.2015, 00:53   #1843
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
По умолчанию

Krysanov
Это проблема с ЛастФМ, они очередной раз поменяли у себя что то на серваках, теперь скрипт NowPlay от марка2003 не работает его править нужно, сходи по ссылке я уже давал ее ранее
http://www.hydrogenaud.io/forums/ind...=77883&st=4225
там ребята на последних страницах как раз пробуют решить эту проблему.
duzzy вне форума   Ответить с цитированием
Старый 19.08.2015, 01:00   #1844
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
По умолчанию

kgena_ua
Спасибо! сейчас попробую...
Видел новый плейлист Бретта?
ссылка на его новое творение, еще не готов но то что видно на видео впечатляет...
http://fav.me/d95rh99
...................
Попробовал в твоей сборке, сейчас в своей буду пробовать, и на первый взгляд работает очень даже не плохо.
Единственное что как мне кажется из on_timer нужно убрать window.repaint (строка 128) это будет только создавать лишнюю нагрузку на проц перерисовывая МПС во время движения панелей.
Утечки меньше на много но все равно есть, не понимаю откуда они лезут(возможно при математических вычислениях при движении панелей... пока не раскрыл этот секрет)... но и правда в норму восстанавливаются при бездействии(т.е. если не использовать анимацию перехода в течении 1-2 секунд) быстро.
....................
Ну похоже что то более менее внятное у меня получилось правда рабочий набор памяти в пике 300 мб.
выглядит пока так... (артефакты и продергивания из за записи видео)
https://www.dropbox.com/s/7mf749dtzy..._test.mp4?dl=0
......................
Проблему с утечкой памяти решил этим CollectGarbage(); поставил после сброса таймера движения.

Последний раз редактировалось duzzy; 19.08.2015 в 11:14.
duzzy вне форума   Ответить с цитированием
Старый 19.08.2015, 01:03   #1845
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

Цитата:
Сообщение от Krysanov Посмотреть сообщение
а что тут надо подправить?

Вложение 40795
Зажми "Shift" + ПКМ => зайди в Properties =>
Clear=>Apply
Ошибка должна уйти.
Перенастрой отображение панели(левый верхний угол).

И да , остаётся ждать обновления скрипта ...

Последний раз редактировалось seriousstas; 19.08.2015 в 04:14.
seriousstas вне форума   Ответить с цитированием
Старый 19.08.2015, 01:09   #1846
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

kgena_ua
Цитата:
if (x >= ww / 3 * 2 && x <= ww) {panel = panel == 3 ? 0 : panel + 1};
по кнопке 3 будут гоняться все четыре панели, или хоть двадцать.
Ок, понял !
seriousstas вне форума   Ответить с цитированием
Старый 19.08.2015, 05:47   #1847
Krysanov
Super Moderator
 
Аватар для Krysanov
 
Регистрация: 12.11.2013
Возраст: 45
Город: Горно-Алтайск
Регион: 04
Машина: lexus rx300
Сообщений: 3,148
Krysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to behold
По умолчанию

Всем спасибо! Попробую!
__________________
Windows 8.1, 64 бит, iCar DS 1.7.0.60
LGA 1155 Intel(R) Core(TM) i5-3570 CPU @ 3,4 GHz (6 Mb), 2x DDRIII 4Gb 1333 MHz KINGMAX, ASRock IntelB75, VGA (DVI+HDMI)+PCX16 3,0, SSD TOSHIBA OCZ tr150 на 240 GB, 2,5 Samsung SATA 1 Tb 5400 rpm, 8Mb, M4-atx -hv
Проект Кристалл-М=многоканальный звук в Lexus rx300 на базе CarPC!
Установка Windows, iCarDS и всего, что необходимо для CarPC!
_________________________________________

Krysanov вне форума   Ответить с цитированием
Старый 19.08.2015, 14:38   #1848
wladkom1953
Старший Пользователь
 
Аватар для wladkom1953
 
Регистрация: 19.06.2011
Возраст: 71
Город: Нижний Новгород
Регион: 52
Машина: Додж Караван
Сообщений: 407
wladkom1953 is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от seriousstas Посмотреть сообщение
Зажми "Shift" + ПКМ => зайди в Properties =>
Clear=>Apply
Ошибка должна уйти.
Перенастрой отображение панели(левый верхний угол).

И да , остаётся ждать обновления скрипта ...
Этот способ лечения не помогает.Обновления файла common8.js не будет. Как я понял marc2003 не собирается поддерживать старые скрипты. На сегодняшний день актуальна пятая версия: https://github.com/19379/wsh_marc2003/releases
wladkom1953 вне форума   Ответить с цитированием
Старый 19.08.2015, 16:29   #1849
kgena_ua
Пользователь
 
Регистрация: 14.02.2015
Возраст: 60
Регион: Украина
Машина: subaru forester
Сообщений: 54
kgena_ua is on a distinguished road
По умолчанию

Цитата:
duzzy
Видел новый плейлист Бретта?
duzzy, да интересно, только я предпочитаю elplaylist, там большие возможности по настройке, тем более что я изучил его процентов на 80-90 , и главным для меня была возможность изменения размера обложки (например колесом выше) в плейлисте - в elplaylist у меня это вышло более или менее удачно.
И главное. duzzy, можно подробнее про CollectGarbage(), что это за зверь, и как и куда его нужно вставить.
kgena_ua вне форума   Ответить с цитированием
Старый 19.08.2015, 17:35   #1850
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

wladkom1953
Цитата:
Этот способ лечения не помогает
Речь об ошибке Krysanov на скрине #1839 . Перезагрузка (сброс настроек) скрипта убирает галку
чтения биографии с lastfm.ru и скрипт перестаёт крашиться - что даёт возможность нормально пользоваться плеером .
Цитата:
На сегодняшний день актуальна пятая версия
Да , но внутри нет скрипта "с картинками" , только Bio
seriousstas вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 14 (пользователей: 0 , гостей: 14)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


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