LINUX.ORG.RU

Избранные сообщения Bass

Первый выпуск мультимедийной библиотеки LDL c поддержкой старых систем

Новости — Open Source
Группа Open Source

Представляю Вашему вниманию разработанную мной первую версию мультимедийной библиотеки Little DirectMedia Layer, сокращённо LDL.

Библиотека написана на С++ 98 стандарта, что позволяет компилировать ее начиная с Visual C++ 6.0. Код распространяется на условиях Boost Software License 1.0. Но библиотека не ограничивает программистов в выборе стандарта языка C++, программист может использовать любой современный стандарт языка. Я придерживаюсь философии downgrade — это использование старых устройств и софта в повседневной жизни, когда компании не поддерживают свои же «устаревшие» операционные системы или устройства, увеличивая с каждой новой версией своего продукта системные требования, или прекращают поддержку девайса. Миллиарды устройств по всему миру ежесекундно перемалывают миллиарды инструкций неоптимизированного кода.

В этом году я выступил на конференции С++ 2023 с докладом «Вперед в прошлое, или Разрабатываем фреймворк под Windows 95 в 2023 году».

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

В самом начале процесса разработки я и не предполагал, что данная библиотека вообще возможна. Но при практической реализации прототипа, добавляя строчку за строчкой в фундамент будущей библиотеки, убеждался в возможности ее создания и практическом применении.

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

Возможности библиотеки:

  • поддержка Linux Debian 3 и выше (обеспечена нативная сборка);
  • поддержка Windows 95 — Windows 11;
  • простое API для работы с 2D графикой;
  • загрузка множества графических форматов (bmp, png, tga, jpg);
  • кроссплатформенное API над окнами и событиями ОС;
  • для аппаратного ускорения графики используется OpenGL 1.2 и
  • OpenGL 3.3, присутствует поддержка обработки графики только на ЦПУ, если отсутствует аппаратное ускорение;
  • рендер может быть выбран динамически при загрузке приложения;
  • единое API для всех систем — напиши один раз и компилируй везде!
  • воспроизведение звука;
  • динамическая и статическая линковка.

Планы на будущее:

  • поточное воспроизведение звука;
  • вывод текста с поддержкой библиотеки freetype;
  • дополнительные рендеры Direct3D 9, 10, 11;
  • API для работы с потоками;
  • встроенная поддержка API для работы с сетью;
  • портирование фреймворка на другие платформы: Android, IOS, MacOs.

Ссылки:

>>> Подробности

 ,

JordanCpp
()

Solaris 9 EA

Галерея — Скриншоты

Вот собственно обещанный мной субж.
Система только что инсталлирована.
На экране: Solaris Management Console, Шкаф и терминал.
Locale UTF-8. Попробовал в терминале писать по русский, арабский, Thai и Hebrew - все OK. На язке Hindi квадраты :(
Арабский как и положено писался справа на лево. Но если в одной строке комбинировать арабский и Thai, то глюки с перерисовкой :(

Вот первые впечатления первой минуты работы с девяткой.
Как купим финальную версию и начнем под ней писать софт, тогда подробнее напишу про отличия от 8, глюки и т.п.

IvanVaganov
()

swing

Галерея — Скриншоты

Вот такие вот пироги. Пользовать это кнечно пока еще неззя, но говорить об этом можно. Скорость соизмерима с мозиллой . может быть чуточку медленнее. Эт кнечно не бровсер, а так html veiwer но тем не мение.
Жаба уже уверено окупировала server side, и я думаю что ее выпады на userdesktop не такие уж и безосновательные.
Thinkfree, columba, и т.д..

так что кто знат, поживем увидим....

ifconfig
()

Lotus Notes forever!

Галерея — Скриншоты

Well...
Administrators cut off pop3, imap, http on Domino.
Don't mention mutt, Mozilla Mail, Evolution, etc to me any more.
Lotus Notes forever! :-)

Tasmanian
()

J2SDK 1.4.0. Battle: С vs. Java 2

Галерея — Скриншоты

Идея сравнения C и Java 2 1.4 возникла у меня после наблюдения за дискуссией по поводу выхода новой версии Java 2. Скорость работы HotSpot компилятора, на мой субъективный взгляд, увеличилась и для несложных интерфейсных программ время реакции не намного хуже, чем для C программ с библиотеками WINGs. Кроме приведенной на скриншоте программы провел тест нейронных сетей - есть выигрыш по сравнению с J2SDK 1.3.1. Обратите внимание на строку кода JFrame.setDefaultLookAndFeelDecoration(true); и форму джаванского окна.

NikS
()

Desktop Java разработчика...

Галерея — Скриншоты

... с точностью до именования открытых файлов/проектов/директорий/писем и взаимного расположения окон. Это Enlightenment 0.16.5 и GTK с Aqua темами.

Для интересующихся -- небольшая экскурсия. В правом нижнем углу болтается gkrellm. В мирной жизни он часто скрыт другими окнами и пингвинчика, который удачно получился изображенным ногами вперед :) не видно. Поэтому о радостном событии прихода почты gkrellm оповещает сообщением (xmessage), которое видно в центре экрана. Сообщение висит несколько секунд, после чего умирает.

Под xmessage видна консоль с links'ом, показывающим Java API. Консоль живет в табе multi-gnome-terminal'а. Очень удобная вещь, кстати. Помимо всего прочего, mgt подсвечивает табы, в которых что-то новое появилось в output'е, всякими цветами. Таб, обозванный "ICQ" сейчас синий, что говорит о том, что в болтающемся там консольном ICQ клиенте (vicq), возможно, есть новое сообщение.

За mgt спрятался emacs, который умеет использовать ANT для компиляции java классов. Виден кусок .emacs, обеспечивающего этот союз.

Позади всех -- основное средство разработки, Together Control Center. Написан на Java, внешне под линуксом выглядит прекрасно, работает сносно (хоть есть и linux specific глюки). В отведенных java машине 256M памяти чувствует себя превосходно. Два запущенных тугезера -- вполне обычное явление.

В правом верхнем углу -- список того, что еще запущено, но живет на других виртуальных экранах (всего экранов 6 штук). Mozilla (окна навигатора и почтового клиента), VMWare с w2k (ну приходится таки использовать windoze специфичный софт. Кстати, практически не тормозит), еще один emacs.

Обои стянуты с windoze, равно как и true type шрифты, использованные в Together. Внизу болтается dock, который, на самом деле, я практически не использую. Выставил для большего понту :). Показывается/убирается кликом в маленькое яблочко вверху экрана.

Дистрибутив -- честно купленный ALT Linux Spring 2001. X 4.1.0, JDK 1.3.0 от Blackdown. Железо -- PIII 666, 512M.

Прошу прощения за не самое высокое качество jpeg'а, но размер исходной картинки был 550K, на этот сайт она просто не влезла.

BarD
()

Basilisk II, MAC OS 8

Галерея — Скриншоты

вот такие дела :)

anonymous
()

Opera 6.0 TP1

Галерея — Скриншоты

После выбора правильных фонтов заработала с русскими кодировками. Можно менять кодировки на лету. И вообще быстро работает...

McGray
()

Eclipse Java IDE for Linux

Галерея — Скриншоты

К сожалению менее функционален, чем полный IBM WSAD 4, доступный пока только для Windows. В Eclipse (WSAD) можно использовать не только AWT и Swing компоненты, но и SWT компоненты, хотя Motif SWT работает намного медленнее Windows SWT. Обещена поддержка GTK SWT. Моей обязанностью является создание EJB SOAP для IBM WAS 4 for Linux/390, а данный скриншот сделан на домашнем компьютере - вообще-то я больше люблю C + WINGs.

NikS
()

Forte for Java v. 3.0

Галерея — Скриншоты

Скриншот свежей Forte. Как и говорил работает шустрее, чем раньше.

Lucifer
()

И насчёт неказистости тоже... :)

Галерея — Скриншоты

Это второй скрин, сделанный в одном сеансе работы - так, ничего особенного, здесь доки и маны читаются/пишутся. IMHO, всё это не так уж и трудно и неказисто - особенно для 200 MHz пенька, которому место на свалке давно приготовлено...

anonymous
()

Вот такой вот он - бывший SCO Merge.

Галерея — Скриншоты

Вот такой он - Win4Lin 3.0 в момент устаковки.

Очень мне эта штука понравилась, особенно то решение, когда fullscreen режим решен с помощью запуска второго X Window сервера на соседнем виртуальном терминале.

Нажимаешь Ctrl-Alt-F3 - на экране *полноценный* виндовоз, а не ублюдочная wine-эмуляция или тормознутая VmWare.

Нажимаешь Ctrl-Alt-F2 - оп-ля, снова привычный KDE.

Вот такие вот дела.

anonymous
()

IBM VisualAge Smalltalk 5.5.2 for Linux

Галерея — Скриншоты

"Лучший способ предсказавать будущее - это изобретать будущее" -
А.Кей (автор Смоллтока)
Если IBM представила preview наиболее серьезного _чисто объектного_ языка программирования для Linux, то значит у Linux дела идут хорошо!
Замечу, что это еще не рабочая версия как VAST для AIX, Solaris и HP/UX, которым уже несколько лет. Теперь будет поддерживаться Linux.

NikS
()

На злобу дня

Галерея — Скриншоты

На экране Forte for Java.
IMHO: Java - хороший язык с богатой библиотекой, я думаю, он еще составит конкуренцию C#. И позиции его усилятся, если в Java добавят поддержку шаблонов.

IvanVaganov
()

Solaris и PCi

Галерея — Скриншоты

Двоюродный брат Линукса - Solaris, на родном
Sparc. Common Desktop Environment,Gimp, и в окне -
vmware-подобный PCi с 95 виндой. PCi - енто
такая железка для эмуляции PC, почти полный
PC - проц от AMD и 64К мозгов.

Скриншот моего друга, свалившего за бугор.

sevast
()

Borland Kylix powered by ASPLinux

Галерея — Скриншоты

Вот, собственно и оно...

anonymous
()

RedHat 6.2 + Oracle 8.1.7 EE

Галерея — Скриншоты

Рабочее место oracle dba. RedHat 6.2 (kernel 2.2.16) Oracle 8.1.7 + Objectmanager все просто и удобно :-)

anonymous
()

Forte4Java 2.0

Галерея — Скриншоты

Subj собственно рулит!
PIII-450, 128M RAM BlackCat 6.2
Даже бровзер кажет русские буквы!

anonymous
()

А это я работаю :) JForte Community Edition 1.0.

Галерея — Скриншоты

Subj. хорош, только очень туп - пока не поставил 256 мозгов - тормозил (P III 600Mhz) Ну и понятно - Helix-GNOME, sawfish, huye-moye, кстати, рекомендую XFree86 4.0.1 - супер! 15-20 мегов в памяти и работает очень быстро.

anonymous
()

Diablo II под Linux =)

Галерея — Скриншоты

Развлекался с wine, и решил попробовать запустить вторую диаблу.
Результат на экране =+) Притормаживает немного (64Mb RAM) но играть можно.

cadaber
()