Класс-обертка для mplayer под MSE и XELPLAYER

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Стоит ли предложить сие чудо программерской мысли Мартину для включения в MSE?

Опрос закончился 04.12.2010 10:56:32

1.Да
9
82%
2.Нет
2
18%
 
Всего голосов : 11

Re: Класс-обертка для mplayer под MSE

Сообщение minoshi » 30.11.2010 22:41:17

а вот над этим я пока думаю.
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Класс-обертка для mplayer под MSE

Сообщение coyot.rush » 30.11.2010 22:45:41

а вот над этим я пока думаю

Вводить все равно придется, к примеру для просмотра тв кнопки play,stop не надо
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: Класс-обертка для mplayer под MSE

Сообщение minoshi » 02.12.2010 21:39:56

coyot.rush писал(а):
а вот над этим я пока думаю

Вводить все равно придется, к примеру для просмотра тв кнопки play,stop не надо



согласен, хотя немного не так, как предлагаете Вы ...
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Класс-обертка для mplayer под MSE

Сообщение coyot.rush » 02.12.2010 23:15:03

согласен, хотя немного не так, как предлагаете Вы ...

Поэтому и жду когда вы покажете, как хотите организовать взаимодействие между классом оберткой и программой чтобы не переписывать
offtopic
Можно ли twindowwidget работать как с картинкой, просто хочется потом заняться алгоритмами сглаживания видео, естественно про то что это получается медленно я знаю, просто ради любопытства :?:
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: Класс-обертка для mplayer под MSE

Сообщение minoshi » 05.12.2010 12:02:05

ну где - то так. Пока alfa and unstable


coyot.rush писал(а):Можно ли twindowwidget работать как с картинкой, просто хочется потом заняться алгоритмами сглаживания видео, естественно про то что это получается медленно я знаю, просто ради любопытства :?:


интересный вопрос :)
Вложения
xelplayer.tar.bz2
(128.28 КБ) Скачиваний: 620
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Класс-обертка для mplayer под MSE

Сообщение minoshi » 08.01.2011 22:09:50

Так толком не дали поработать на новогодние праздники...

Текущий стабильный вариант здесь http://almin-soft.nx0.ru/site/open_and_free_xelplayer.html
Вложения
xelplayer1.jpg
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Класс-обертка для mplayer под MSE

Сообщение coyot.rush » 12.01.2011 19:13:11

Посмотрел проект есть несколько замечаний
1) Заменить Tspacer на TTabWidget потому что
а) избавит от ручного управления табами
Код: Выделить всё
procedure tmainfo.openspacer(b : string);
begin
  s_1.visible := false;
  s_2.visible := false;
  s_3.visible := false;
  s_4.visible := false;
  (findcomponent('s_'+b) as tspacer).visible := true;
end;

б) устранит проблему при просмотре тв, появляются артефакты
в) Надписи в меню программы не будут наползать друг на друга (Проигрыватель...)
2) установить минимальное значение для главной формы
3) Использовать tskincontroller для создания единообразного интерфейса
4) Вынести путь к mplayer в ini файл и временно убрать проверку на имя файла
Код: Выделить всё
function tmplayer.checkplayer : boolean;
begin
if fileexists(fmplayer)
and (extractfilename(fmplayer) =
    {$ifdef mswindows}'mplayer.exe'{$endif}
    {$ifdef linux}'mplayer'{$endif} )
    then begin
          result := true;
          debug('*** CHECK PLAYER: mplayer found : ' + fmplayer);
        end
   else begin
          result := false;
          debug('*** CHECK PLAYER: mplayer not found');
        end;
end;



Предложение по системе плагинов .
1) Создать именованный пайп (имя должно быть заранее оговорено) и с помощью него считывать список
2) Второй пайп можно использовать для внешнего управления (например ставить на паузу при получение электронной почты :roll: )

Вывод отладочной информации можно сделать так как я предложил здесь http://www.freepascal.ru/forum/viewtopic.php?f=13&t=6641

Особенности
1.Среда разработки MSE-GUI, что позволит запустить ее на любом рабочем столе
2.минимализм.
3.основной движок - mplayer.

Операционная система : Linux
Платформа : X11
Язык интерфейса : Русский
Лицензия : GPL ver.2


Только Linux ?

PS: Правила разработки http://www.freepascal.ru/forum/viewtopic.php?f=23&t=3078&p=20268
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: Класс-обертка для mplayer под MSE

Сообщение daesher » 16.01.2011 11:09:12

Мой "велосипед" - http://pas-tuner.email.su
daesher
постоялец
 
Сообщения: 221
Зарегистрирован: 09.03.2010 22:17:14

Re: Класс-обертка для mplayer под MSE + XELPLAYER

Сообщение minoshi » 03.02.2011 10:25:24

coyot.rush писал(а):Посмотрел проект есть несколько замечаний
1) Заменить Tspacer на TTabWidget потому что
а) избавит от ручного управления табами
Код: Выделить всё
procedure tmainfo.openspacer(b : string);
begin
  s_1.visible := false;
  s_2.visible := false;
  s_3.visible := false;
  s_4.visible := false;
  (findcomponent('s_'+b) as tspacer).visible := true;
end;

б) устранит проблему при просмотре тв, появляются артефакты
в) Надписи в меню программы не будут наползать друг на друга (Проигрыватель...)


Сам об этом думал:) Принято. Реализовано.

coyot.rush писал(а):2) установить минимальное значение для главной формы
3) Использовать tskincontroller для создания единообразного интерфейса


В планах. Есть пара нюансов, над которыми надо подумать ...

coyot.rush писал(а):4) Вынести путь к mplayer в ini файл и временно убрать проверку на имя файла


ini - файл с настройками будет.
А вот зачем убирать проверку на имя файла? Поясните свою мысль

coyot.rush писал(а):Предложение по системе плагинов .
1) Создать именованный пайп (имя должно быть заранее оговорено) и с помощью него считывать список
2) Второй пайп можно использовать для внешнего управления (например ставить на паузу при получение электронной почты :roll: )


Система плагинов будет полностью изменена. Как раз над этим сейчас и работаем. Забавно должно получиться :)


coyot.rush писал(а):Только Linux ?


Конечно нет :) Кроссплатформа! просто не всегда есть возможность скомпилить windows-версию

Добавлено спустя 39 минут 44 секунды:
Re: Класс-обертка для mplayer под MSE
daesher писал(а):Мой "велосипед" - http://pas-tuner.email.su


взято на заметку
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Класс-обертка для mplayer под MSE и XELPLAYER

Сообщение coyot.rush » 08.02.2011 23:37:55

А вот зачем убирать проверку на имя файла? Поясните свою мысль

Для запуска портабельной версии, имя бинарника AppImage
Система плагинов будет полностью изменена. Как раз над этим сейчас и работаем. Забавно должно получиться

как насчет пайпов?

1)Замечание/предложение по интерфейсу
Сделать "всё" на табах, их разместить с боку
Одна вкладка "обманка" для переключения на окно просмотра (плеер) и уменьшения ширины страницы табов до нуля (остаются только "ушки")
2) Тв не работает, видео не отображается :?:
3) Заменить код проверки запуска второй копии http://www.freepascal.ru/forum/viewtopic.php?t=6641
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: Класс-обертка для mplayer под MSE и XELPLAYER

Сообщение minoshi » 10.03.2011 14:21:33

Проект не заморожен :)

Но пока остался один нерешаемый вопрос, который уже начал раздражать - как корректно поставить на паузу mplayer при просмотре он-лайн ресурсов в случае нехватки кеша (cache not filling)?

Вроде нащупал программный алгоритм, но крайне неровно работающий - иногда ставит на паузу сразу, иногда проходит секунд десять. Основная причина всего этого - это то, что в рабском режиме mplayer не информирует о переходе в режим паузы и приходится "танцевать" от события cache not filling.

Может я где чего в документации пропустил?

Жду Вашей помощи, советов, предложений.
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Класс-обертка для mplayer под MSE и XELPLAYER

Сообщение coyot.rush » 10.03.2011 20:32:46

Но пока остался один нерешаемый вопрос, который уже начал раздражать - как корректно поставить на паузу mplayer при просмотре он-лайн ресурсов в случае нехватки кеша (cache not filling)?


Имхо такое в принципе осуществить для потокового аудио/видео нельзя. :shock:

Сервер должен ждать вас когда вы попьёте чай :roll:

Речь может идти только о timeshift :idea:

тем не менее mplayer можно поставить на паузу использую функцию libc.kill
Код: Выделить всё
Pause(id:integer): boolean;
begin
Result:=False;
if kill(id,SIGSTOP{SIGTSTP})=0 then Result:=True;
end;


function Play(id:integer): boolean;
begin
Result:=False;
if kill(id,SIGCONT)=0 then Result:=True;
end;



PS: Данный хак как не странно работает :wink:
Сигналы в UNIX http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D1%8B_%28UNIX%29
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: Класс-обертка для mplayer под MSE и XELPLAYER

Сообщение minoshi » 11.03.2011 08:34:10

coyot.rush писал(а):PS: Данный хак как не странно работает :wink:
Сигналы в UNIX http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D1%8B_%28UNIX%29


действительно , работает :)

и вот почему - при работе с он-лайн ресурсами mplayer создает два потока : первый, как я понял, для подкачки контента, второй - для воспроизведения.

Тормозить нужно второй :)

Добавлено спустя 8 минут 21 секунду:
надо почаще заглядывать в консоль
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Класс-обертка для mplayer под MSE и XELPLAYER

Сообщение coyot.rush » 11.03.2011 23:46:00

насчет размера виджета для отображения видео, его нет смысла подгонять под размер потока , mplayer (или система ?) сама масштабирует изображение . Кстати по этой причине появляются артефакт на канве
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: Класс-обертка для mplayer под MSE и XELPLAYER

Сообщение minoshi » 12.03.2011 15:24:27

дык , я его под размер потока и не подгоняю, а только сохраняю соотношение сторон и масштабирую относительно области вывода. Не люблю, когда размер программы скачет от файла к файлу.
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Пред.След.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 2

Рейтинг@Mail.ru