A new blog post about one cool feature of the #dlang D programming language :
https://ilmanzo.github.io/post/refactoring-d-koans-with-metaprogramming/
A new blog post about one cool feature of the #dlang D programming language :
https://ilmanzo.github.io/post/refactoring-d-koans-with-metaprogramming/
GitHub - kassane/zcc-d: D library for build scripts to compile C/C++ code using zig toolchain
https://github.com/kassane/zcc-d
Discussions: https://discu.eu/q/https://github.com/kassane/zcc-d
1/3. Первый тестовый запуск видеосистемы в графическом движке.
Ранее для медиаприложений я использовал GStreamer, однако недавнее добавление плагинов на Rust делает его мультиязычным проектом, усложняя сборку.
Если Rust продолжит распространяться по фреймворку, то сборка может стать ещё более проблемной, что риск.
Я решил повысить уровень сложности, пуститься во все тяжкие и собрать пайплайн самостоятельно с помощью более низкоуровневой либы - FFmpeg.
Для теста использовал опенсурсные мультики Blender Open Movie (https://commons.wikimedia.org/wiki/Category:Blender_movies), в частности - WING IT! (https://commons.wikimedia.org/wiki/File:WING_IT!_-_Blender_Open_Movie-full_movie.webm). Также потестил фильтр colorbalance c фильтром format, ибо YUV цветофильтр явно портит.
Programming in D: Tutorial and Reference
#HackerNews #Programming #D #Tutorial #Reference #DLang #Coding #Resources
Продолжаю звукоэксперименты в графическом движке, изучая FM-синтез.
"Аналоговый динозавр", которого никто не смог вытеснить на задачах малого потребления ресурсов, простоты алгоритмов и управления ими. Это делает его популярным в электронике: детские игрушки, звуки будильников, сигнализаций, промоборудования и т.д. и т.п., отчего и мой интерес к нему.
Набросал простенькую демку, где все звуки генерируются двухоператорным (у промсинтезаторов десятки операторов) FM-синтезом. Звучит оно явно получше чем "у-ру-ру" из предыдущего видео.
Я безмерно рад, что для аудиосистемы вышло обойтись самой простой библиотекой без завязки движка на более сложные, хотя и функциональные, но с проблемами обновления и пересборки в случае каких-либо проблем в т.ч. отсутствия на целевом железе.
Но теперь появилась другая проблема - слышать, конечно, хорошо, но вот видеть - тоже нужно. А движок ничего не показывает. Начинаю ломать голову над видеосистемой.
Продолжаю звукоэксперименты в графическом движке. Проблемы разделения частот заставили вспомнить инженерный приём, онумерованный в советском ТРИЗ как 13-ый - принцип "наоборот". Мы можем не разбирать звук на инструменты, а создавать его из них.
Чистые сигналы звучат не особо эстетично, а их усложнение разбросает их по частотам, сводя изначальную идею на нет. Но это всё ещё DSP, что будет полезным в электронике. Да и в движке есть проблема: процедурные алгоритмы позволяют обойтись без сторонней графики, но движок остаётся привязанным к звуку, что досадно.
В целях эксперимента была набросана простенькая пианинка, а следом к ней и примитивная drum-машина на FM-модуляции, которая выглядит очень перспективной.
При смене каналов SDL mixer тоже радует щелчками и в поисках решения я немного занизил амплитуду недоударных, чтобы погасить треск, отчего они не слишком выражены.
Однако... в движке родился синтезатор, ура.
Just another day in programming.
Happy #screenshotsaturday 🥳
I know it's not a screen shot but enjoy a little video of the main menu for my game #MultiMall
I think this is the first time I've shown it off to the world, but it got slapped together over a few weekends.
I'm hunkering down to get a #demo ready for release some time in April, so keep those eyes peeled 👀 .
#indiedev #dlang #sdl2 #opengl #linuxgaming #coolshaders #glsl
#solodev #simulation
Explore the D Programming Language at ACCU 2025 with Mike Shah on Saturday 12th April!
This hands-on workshop covers D’s core idioms, multi-paradigm support & concurrency features—no prior D experience needed! Gain a fresh perspective on programming!
Don't miss out! https://accuconference.org/booking
Explore the D Programming Language at ACCU 2025 with Mike Shah on Saturday 12th April!
This hands-on workshop covers D’s core idioms, multi-paradigm support & concurrency features—no prior D experience needed! Gain a fresh perspective on programming!
Don't miss out! https://accuconference.org/booking
Explore the D Programming Language at ACCU 2025 with Mike Shah on Saturday 12th April!
This hands-on workshop covers D’s core idioms, multi-paradigm support & concurrency features—no prior D experience needed! Gain a fresh perspective on programming!
Don't miss out! https://accuconference.org/booking
Пришло время повысить сложность задачи.
Теперь спрайтами должны управлять не случайные сигналы, а магнитуда выбранного инструмента.
Мне приглянулась композиция от cynicmusic - November Snow (https://opengameart.org/content/november-snow) из-за чётко звучащего фортепиано (назовём его условно так). Я изучил график спектра в Audacity и обнаружил пики на частотах ≈800Гц.
Там располагается несколько нот официального фортепиано, пробовал сужать и расширять диапазон фильтрации, оценивая нужный мне уровень магнитуды, но, увы, было много ложных срабатываний.
Тогда я решил поискать гармоники - кратные частоты основному тону. Если предположить, что основной тон мог быть в районе 800Гц, то следующая гармоника должна быть где-то в 2*800=1600Гц. И в диапазоне 1540-1630Гц там действительно есть более узкий и чёткий пик, оно кое-как, но заработало.
Снежинки - звёздчатые многоугольники и фракталы Коха ( 60°, аксиома F++F++F, правило F=F-F++F-F в системе Линденмайера.
ACCU 2025 ONLINE WORKSHOP PREVIEW!
Kevin Carpenter sits down with @MikeShah to discuss his upcoming D Online Workshop on Saturday 12th April!
This workshop covers D’s core idioms, multi-paradigm support & concurrency features with no prior D experience needed!
youtu.be/cz7fMxLHTHI
Explore the D Programming Language at ACCU 2025 with Mike Shah on Saturday 12th April!
This hands-on workshop covers D’s core idioms, multi-paradigm support & concurrency features—no prior D experience needed! Gain a fresh perspective on programming!
Don't miss out! https://accuconference.org/booking
Devs in the #dlang community have been Vibe Coding since 2012…
Happy #screenshotsaturday, better late than never. 🥳
Started blocking out the GUI parts of Staff hiring over the weekend. Thankful it wasn't too much work as the GUI system is written in #lua and #xml.
#multimall is starting to finally feel like a cohesive experience instead of a janky pile of debug menus.
In other news my lines script as seen in some of my other posts now produces a fun little graph.
#indiedev #gamedev #dlang #opengl #simulation #humanresources.