Допустим, я хочу написать свой нотный редактор со своим рендером. С отрисовкой пикрелейтед1 все более-менее ясно, но настоящие ноты больше похожи на остальные три пикрелейтеда.Как всю эту ебаную типографику организовать? Там очень много элементов и очень много вариантов их компоновки, какая архитектура для всей этой хуиты подойдет? Я немного в замешательстве.Если анон писал что-то, связанное с рендером типографики - пусть поделится опытом. Ну пожалуйста блядь
Давайте даже проще. Вот нам надо отрендерить заковыристый текст. Иероглифы какие-нибудь хитровыебанные, которые в три строчки каждый пишутся. Какую архитектуру под это надо пилить?Если что, у меня есть маленький бэкграунд в геймдеве, функциональщине, клиент-сайде.
>>1059596MVP
>>1059645Съеби нахуй в свой пхп-тред, уебок.Заодно бамп годному треду!!1
берешь svg библиотеку и рисуешь свои ноты
Экхм, ничего против не имею, но чем не устроил Musescore?
>>1059593 (OP)Делаешь абстрактный класс "Графический объект", виртуальные методы "Расчитать параметры" и "Отобразить", "Номер слоя отображения", "Номер слоя подготовки". Переопределяешь для каждой ноты. Дальше в каждом фрейме в порядке слоёв подготовки готовишь, в порядке слоёв отображения без задней мысли отображаешь. Используй двойную буферизацию.Чтобы клики мышки ловить, нужно каждому слою приделать ограничивающий прямоугольник. Вроде вот и всё.
>>1059680Могу ещё посоветовать графические примитивы (если будешь рисовать примитивами) завернуть в отдельный абстрактный класс, а от него наследовать методы отображения – будет очень полезно при смене платформы (например, с GDI+ на OpenGL, или для записи в PDF и.т.п.)
музокопидоры дали пасасать матаноблядям в номинации самая нечитаемая поебота евер
>>1059659У него ФАТАЛЬНЫЙ НЕДОСТАТОК.
>>1059596>Вот нам надо отрендерить заковыристый текст. Иероглифы какие-нибудь хитровыебанные, которые в три строчки каждый пишутся. Какую архитектуру под это надо пилить?на бэке TeX (в твоем случае MusiXTEX), на фронте - синл-пейдж, отображающий формулу (рисунок, whatever) и окошко для инпута. Чтобы красиво, добавлю подсказки с http://icking-music-archive.org/software/musixtex/musixdoc.pdf по редактированию.Такой редактор за два вечера на коленке делается. Хз, будет ли полезно, т.к. ты вроде упоротый: хочешь нотную иде написать, с минимумом знаний
>>1059593 (OP)http://lilypond.org/
>>1059715Это.>>1059659Но если серьезно, мне надо в вебе и нестандартные всякие штуки показывать.
>>1059772Ты, блядь, прогринтекстил одно, ответил на другое, и все не в тему, лол. В гринтексте задан вопрос, как самому написать аналог музикстех\лилипонд\вотева и какую архитектуру выбрать. Алсо, про текстовый редактор с комплиляцией в картинки вообще речи не идет, только визивиг, только хардкор.
>>1059680> Расчитать параметрыВот только для расчета параметров нужны данные ото всех (соседних) объектов, а не от одного графического объекта, так что у тебя уже полный проеб, к сожалению.
Пойду вексфлоу пока курить, что ли. Блядь, ну хоть бы кто-нибудь посоветовал что-то релевантное на почитать.
>>1059891че те советрвать? рисуй графичевкие примитивы типа этих ваших клякс и развешивай их на линиях. ебани кьют+канвас+свг
>>1059897>графичевкие примитивыможешь его как виджет сделать, тогда вобще песея будет, хоть на гуй его вешай
>>1059708>музокопидоры дали пасасать матаноблядям в номинации самая нечитаемая поебота еверЭто какие-то электронные выродки. Так аккорды из более чем десяти нот, взять такое человеческой кистью невозможно. А еще какая-то ебучая пирамидка из целых нот,пиздец.мимомузыкант
>>1059651У пхп MVC, а я андроид-жава господин.
>>1059680Это на платформе 1С?
>>1059903Может это кластеры https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80_(%D0%BC%D1%83%D0%B7%D1%8B%D0%BA%D0%B0) ? Алсо никто не запрещает за инструмент посадить несколько человек.
>>1059903все ясно, оп рептилоид и пиздит наши технологии
>>1059923>за инструмент посадить за дудку
>>1059887Окей, делай всё сам, смотри только не сломай яйца из-за веритификации формальной грамматики нотного текста. Навесить графоний на MusiXTEX - более простое решение, с моей точки зрения.
>>1059890Не вижу проёба, используй параметры других объектов при расчёте
>>1059903> подразумевая, что ноты именно для пианиныНу конечно, ведь других инструментов нет! Аристократы, блин.
>>1059904Ответ твой от этого релевантнее не становится.>>1059930Бро, он не работает в браузере. Лилипонд вроде бы работает, но навешивать на него свой интерфейс невозможно - он же, блядь, картинку отдает, очнитесь, блядь! Его можно использовать для окончательного рендеринга для печати, но не для построения интерфейса!И я еще раз акцентирую внимание на том, что советовать его вдвойне глупо в свете того, что для жс есть библиотека вексфлоу, которая, блин, то же самое, только на жс и специально для интеграции в другие приложения написана.
>>1059989> Не вижу проёбаНу потому что ты не можешь в проектирование, хуль тут сказать. Макароны.Вообще, немного удивляет, что сейчас как бы уже не 1995 год, везде дата-ориентед и реактив программинг да юнидирекшнл датафлоу, а сосачеры до сих пор рассуждают в терминах ВИРТУАЛЬНЫХ МЕТОДОВ и хреначат спагетти без анализа зависимостей. Ну нахуя так жить?
>>1060199Ты прав: глупо отвечать на вопрос про архитектуру, не учитывая зависимость от наличия js-библиотек.Укатился из треда.
>>1060284В третий раз повторяю, что задача в том, чтобы САМОМУ НАПИСАТЬ ТАКУЮ БИБЛИОТЕКУ, АЛЕ БЛЯДЬ, но ты меня, очевидно, и в этот раз (уже) не услышишь.
>>1059708>музокопидоры дали пасасать матаноблядям в номинации самая нечитаемая поебота евер Дебилюгин все равно круче схемы рисует. Ноты и математику могут разобрать хотя бы те, кто в них шарит.
>>1061005Что-то мне этот кружочек внизу справа подозрительно напоминает... гоатсе!
Ты спрашиваешь, как тебе запилить ЭТО, даже не представляя, что ЭТО. У тебя нет никаких требований, никаких представлений о том, что тебе надо делать, ты просто бегаешь кругами и орёшь "А-А-А".Начни с малого. Напиши так, чтобы можно было как на первом пике. Пиши как знаешь. Ты все равно не узнаешь, как у тебя должен выглядеть код до того, как ты сядешь писать код. Не нужно тебе никакой архитектуры, модульность и best practices у тебя должны быть всегда, а паттерны-хуятерны - это то, чем программистишки оправдывают проёбы времени на "рефакторинг", когда использовали bridge там, где нужен был listener, или наоборот. Хуйня это всё.
>>1061270> мне нечего посоветовать, но какой-нибудь бесполезной хуйни спиздануть хочетсяЗачем ты так?> даже не представляяПрочитай первое предложение оп-поста. Для таких, как ты, написал пояснение в самом начале: >>1059596> Не нужно тебе никакой архитектурыВся суть местных макак.
Я бы представил композицию в виде данныхРазмерность, метр, ключ. Потом мапишь данные в интерфейс, интерфейс при взаимодействии генерирует события при обработке которых ты изменяешь данные и перерисовываешь интерфейс.>>1060200Плюсую этого комрада
>>1061318Это-то как раз очевидно - реакт, все дела (не зря же про геймдевный бэкграунд писал), проблема тут в другом: я с этой хуйней только с точки зрения музыки знаком, то есть для меня естественно выбрать в качестве базовых элементов тики времени, ноты и т.п. А в типографике я нихуя не шарю, хотя ноты - это больше про типографику, чем про звук. Я собственно об этом в оп-посте и спрашивал, эх.Ну вот простейший пример: древовидную или плоскую структуру данных использовать? С точки зрения музыки мне вроде бы очевидно, что плоскую. До это одна нота, до-диез - другая. Снизу отдельный слой с динамикой, например, метки на котором привязываются к логической позиции нужной ноты. А с точки зрения типографики вроде как получается, что у нас весь скорещит - это как бы сцена. До - это нота, а до-диез - это нота до, к которой чайлдом привязан значок диеза. Отметки с динамикой - это не отдельный слой, а просто текст с отступом вниз по умолчанию, который опять же привязывается к значку нотки. Короче, с этой стороны посмотреть - вообще другая структура получается.
>>1061337>Короче, с этой стороны посмотреть - вообще другая структура получается.Нет, та же самая, функция отображения просто зависит от ключа композиции.Нота до не перестает быть нотой до, но она рисуется на нотном стане по разному в зависимости от ключа.Тебе надо вывести самую минимальную и удобную структуру данных, а потом уже от нее отталкиваться
>>1061678Ты, блядь, хуйню какую-то сказал, потому что ни в музыкк не шаришь, ни в том, о чем я пост написал. Блядь, пиздец просто, одни дегенераты тут остались.
>>1061680Ой да пошел ты нахуй, напроектировал тебе за щеку.
>>1061707Еще и обиделся, лол.На себя обижаться за такое надо, господа.
>>1061680>>1061707Проигрунькал с диалога.
> Тебе надо вывести самую минимальную и удобную структуру данных, а потом уже от нее отталкиватьсяДвачую, я уже пытался ему донести. Бесполезно.> Вот gnu библиотека. Смотри, используй, портируй.> Ко-ко-ко, архитектура. Ко-ко-ко, javascript. Ко-ко-ко, ТЫ МЕНЯ НЕСЛЫШИШЬ.
>>1061904Если бы ты поднял глаза и прочитал мой текст парой постов выше, то осознал бы, что "удобной" структура данных может быть для одной задачи - и при это не быть удобной для другой. Собственно, я об этом и размышлял вслух, но в качестве комментариев получил лишь школьныйьлепет в стиле "даа, надо бы сделать чтоб заебись было, дааа". Впрочем, ничего удивительного.Про библиотеку тебе уже три раза сказали, что на жс есть нативная, активно развивающаяся библиотека без внешних зависимостей, но до тебя все не доходит.
>>1059593 (OP)У TeX исходники открыты, можешь посмотреть, как там это реализовано
>>1061912> У линукса исходники открыты, можешь посмотреть, как там это реализовано> У атомов электроны открыты, можешь посмотреть, как там это реализованоEt cetera.
>>1061910>Если бы ты поднял глаза и прочитал мой текст парой постов выше, то осознал бы, что "удобной" структура данных может быть для одной задачи - и при это не быть удобной для другойДааа, конечно. А обычная реляционная база это нихуя не определенная фиксированная структура данных, подумай вообще что такое база данных на досуге. Если судить по твоей логике, то реляционная база предназначена только для отображения таблиц. Ты же потом сам берешь эти данные и мапишь их в другие структуры для отображения.>>1061707Обижаться я еще в школе перестал, когда понял что далеко не все люди ахуенно умные и нравственные, обижаться на них за это -- пустое дело
>>1059593 (OP)>похожи на остальные три пикрелейтедаА нахуя ты ноты для окрестра гуглишь, мудило?
>>1059593 (OP)>>1061959Не говоря уже о том, что на 3 пике самые обычные ноты, только видимо такое же мудило как ты кривыми руками рисовало.
>>1061944Господи-боже, ну ты же вообще не в теме. Я выше пишу: неочевидно, плоская или древовидная структура лучше для этой задачи, кто делал подобное - подскажите. Ты отвечаешь: а что, реляционная база - не структура данных?Это же пиздец, ну ты сам на ситуацию со стороны посмотри. Опыта нет, знаний в сабжевой предметной области нет, но кукарекнуть надо. Русичи, блядь.>>1061959Вот еще один ушибленный, но это вообще клиника, тут даже намека на диалог быть не может.
>>1062068Все с тобой понятно, как доделаешь лабы и определишься древовидная тебе надо структура или плоская, скинешь чо придумал. Вот тогда и поговорим. А так ты походу зеленый, ну или кретин.
>>1059593 (OP)Пиздец ты задачу придумал. Хуй его знает, я бы спиздил всё из работающих аналогов.
>>1062068>Вот еще один ушибленный>мам я в нотной грамоте не шарю но хочу редактор для них сделать!>мам меня дураком назвали они пришибленные да?
>>1061005Проиграл с этих схем кто это? Хочу с него угореть
>>1059925Много на дудке аккордами наиграл?