LINUX.ORG.RU

Cactus Jukebox 0.4


0

0

Плеер представляет из себя front-end для mplayer.

Официальный сайт программы: http://cactus.hey-you-freaks.de/index.php

Скомпилировано для GTK2, но возможности Lazarus позволяют скомпилировать этот плеер и для QT4 без изменения кода. Также вы легко можете поменять интерфейс программы при помощи Lazarus IDE.

Возможности:

* загрузка обложек

* конвертирование CD-audio в wave(cdda2wav) и mp3 (lame)

* поддержка плейлистов формата m3u

* поддержка проигрывания радио станций

Для компиляции потребуется:

* Synapse (http://synapse.ararat.cz/doku.php/start)

* lNET (http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=17...)

* Free Pascal 2.2.2/Lazarus 0.9.26

Скриншот призван доказать что и на Lazarus/FreePascal можно писать хорошие программы.

>>> Просмотр (1024x768, 212 Kb)

★★★★★

Проверено: JB ()

> Скриншот призван доказать что и на Lazarus/FreePascal можно писать хорошие программы.

У него не получилось.

anonymous
()

>Скриншот призван доказать что и на Lazarus/FreePascal можно писать хорошие программы.

хорошую прорамму можно написать хоть на ассемблере. Вопрос в том, столько надо будет будет бороться с языком и средой разработки, чтобы написать приложение. Незнаю как вам, но я не могу писать на языке, в котором переменные(даже динамические) нужно объявлять в var'е.

kingstone
()

> Скриншот призван доказать что и на Lazarus/FreePascal можно писать хорошие программы.

сколько же весит исполняемый файл? Метров 150?

Theif
()
Ответ на: комментарий от Theif

>сколько же весит исполняемый файл? Метров 150?

4.1 Mb

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от kingstone

>Незнаю как вам, но я не могу писать на языке, в котором переменные(даже динамические) нужно объявлять в var'е.

т.е вы хотите объявлять переменые так?

procedure someproc();

begin

end;

var tetsvar:integer;

procedure someproc();

begin

end;

да пожалуйста ;-)

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от sniper21

>procedure someproc();

begin

end;

var tetsvar:integer;

procedure someproc();

begin

end;

ничего показательного из этого примера не увидел. Что вы хотели этим показать?

паскать уже научился объявлять переменные внутри, например, цикла:

for i : = 1 to 2 do begin var foo:int; readln(foo); end;

??

P.S.:вот писал цикл вспомнил про идиотизм со счетчиком только в 1 и маразмом с to/downto

kingstone
()

А реально ли написать на нём свой движок? Как там с использованием внешних библиотек на c/c++?

anonymous
()
Ответ на: комментарий от anonymous

>А реально ли написать на нём свой движок?

3D, opengl?

да, реально:

http://www.casteng.com/ru/

http://www.pascalgamedevelopment.com

>Как там с использованием внешних библиотек на c/c++?

с FreePascal поставляются так называемые пакеты с библиотеками, их много, но из интересного: tcl, httpd(apache), aspel, bzip2, cairo, Dbus, libpng, libxml, ncurses, oggvorbis, openal, opengl, pasjpeg, paszlib, x11

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от kingstone

>паскать уже научился объявлять переменные внутри, например, цикла:

>for i : = 1 to 2 do begin var foo:int; readln(foo); end;

вот как раз от такого объявления переменных программа становится нечитабельной.

sniper21 ★★★★★
() автор топика

За разположение виджетов не по HIG'у - -1K. После вот такого вот люди начинают думать, что GTK - невнятный тулкит, который выглядеть не может по-человечески.

Deleted
()
Ответ на: комментарий от sniper21

>вот как раз от такого объявления переменных программа становится нечитабельной.

нечитабельной программа становится если программист калека и не умеет нормально писать код. Сходи в ближайший универ и посмотри на чудо-творения студентов на Делфи: хоть переменные все в варе, но читабельности от этого ни капли не прибавляется.

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

kingstone
()

> Скриншот призван доказать что и на Lazarus/FreePascal можно писать хорошие программы.

Возможно... Не обижайтесь, но выглядит программа немного аляпавато, есть над чем работать. Может быть имело смысл попытаться позаимствовать основные элементы интерфейса с одного из известных плееров.

> конвертирование CD-audio в wave(cdda2wav) и mp3 (lame)

Без конвертации в flac и ogg выше процитированная функция почти бесполезна. Во-первых, я не буду хранить музыку в wav, если можно ее хранить в flac, во-вторых, lame может отсутствовать в репозиториях дистрибутива по понятным причинам.

anonymous
()
Ответ на: комментарий от kingstone

>а невозможность объявления переменной там где _мне_ нужно - большой тормоз в написании кода

в больших проектах не участвовали - всё ясно...

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

>Не обижайтесь, но выглядит программа немного аляпавато, есть над чем работать.

не я автор программы, а интерфейс я _для себя_ сделаю, такой какой нужен мне ;-)

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от sniper21

>в больших проектах не участвовали - всё ясно...

когда разумные аргументы заканчиваются, линуксоиды сразу уходят от темы. Благо вы хотя-бы на оскорбления не перешли.

kingstone
()
Ответ на: комментарий от kingstone

>когда разумные аргументы заканчиваются, линуксоиды сразу уходят от темы.

почему от темы? фраза "для себя" причём подчёркнутая - говорит о том, что вы не понимаете разницу между "удобно только для меня" и "удобно для большинства"

sniper21 ★★★★★
() автор топика

>mplayer

Избыточен для АУДИО плеера

>можете поменять интерфейс программы

Ага, а то дефолтный начисто убивает охоту пробовать

>Скриншот призван доказать что и на Lazarus/FreePascal можно писать хорошие программы

А доказывает обратное

devl547 ★★★★★
()

А что, в lazarus/freepascal нельзя использовать другие gtk'шные layout'ы, кроме как fixed? Это такая терминальная стадия болезни дельфо-формо-кнопко-кидательства? Или это только мне кажется, что виджеты накиданы в дизайнере и у них установлены фиксированные размеры?

dmitry_vk ★★★
()

>Скомпилировано для GTK2

Вот сами и кушайте свой кактус

Gary ★★★★★
()
Ответ на: комментарий от sniper21

>что мешает поменять тему оформления для gtk программ?

Если тема оформления избавит меня от чудовищных вертикальных шрифтов - глаза втекут обратно.

lester_dev ★★★★★
()
Ответ на: комментарий от dmitry_vk

> А что, в lazarus/freepascal нельзя использовать другие gtk'шные layout'ы, кроме как fixed?

походу так. Я в своё время других не нашёл, откуда вывод - поделие для писания GTK приложений ничего не даёт.

Joe_Bishop
()

Кактус... название говорит само за себя...

Шрифты сбоку, да и весь gui напомнили tcl/tk и ткаббер :)

Lucky1 ★★★
()

Вот неужели сложно тему гтк было осилить?

Bohtvaroh ★★★★
()

Программулина своим видом явно не блещет. Что-то напомнило:

"Ну что ж ты страшная такая?
Ты такая страшная!
Ты ненакрашенная страшная
И накрашенная..."

kda ★★★★★
()
Ответ на: комментарий от anonymous

> Скриншот призван доказать что и на Lazarus/FreePascal можно писать хорошие программы. У него не получилось.

+1

FENix
()

Ну и зачем? :)

AP ★★★★★
()

Бессмысленно и беспощадно.

ptarh ★★★★★
()

Ну и зачем акциденция в интерфейсе? :)

Jayrome ★★★★★
()

Revolution Void - это хорошо. Программа по скрину не впечатлила. Но будем оптимистами...

anonymous
()
Ответ на: комментарий от sniper21

>> а невозможность объявления переменной там где _мне_ нужно - большой тормоз в написании кода

даже не в написании, а чтении - код должен быть разбит на логические блоки, откомментарен и читаться легко с первого взгляда, что в паскале в принципе невозможно, из-за монстроидальных повсеместных begin-end-procedure-var-then, объявления переменных не там где надо и т.п. ( это для sniper21 )

> в больших проектах не участвовали - всё ясно...


ссылку на ваш большой проект можно?

П.С. сам раньше паскалистом был( не пинайте, это еще в школе было и на первом курсе ), тоже был упертый - мол хватает его и все тут, пока на деле не попробовал С и С++

lester ★★★★
()

> Также вы легко можете поменять интерфейс программы при помощи Lazarus IDE.

спасибо, поржал :)

phasma ★☆
()
Ответ на: комментарий от lester

Ну и что ты попробовал такое на С и С++ если не секрет. Можешь показать хоть что-то и назвать сроки исполнения этого что-то. А то я 20 лет слушаю эти понты, а потом после таких как ты гавно подтитраю уже чем прийдется, даже lazarus. Еще расскажи про монстроидальную жабу, слепили тут у нас проект на жаба. Вся корпорация плюется и проклинает урода который связался с жабой.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.