psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2010-07-30 01:08 am
Entry tags:

Bard 0.1.3

Долгими зимними вечерами продолжаю ваять "Bard". Готова очередная бета: версия 0.1.3.

Учтены многие пожелания и нарекания френдов. Те, что еще не учтены, можете не повторять, у меня все записано и распланировано до версии 0.2. Но, если найдете новые баги - очень хорошо.

Эта версия - серьезный шаг, поскольку полностью переработано "ядро" - хранение промежуточных редактируемых данных. Переработка позволила сделать операции Undo/Redo практически мгновенными, понаделать легко и просто "preview" - но ценой отказа от немедленного save после каждой операции. Как следствие, autosave и autobackup убраны, теперь работа с файлом выглядит совершенно "стандартно": можно закрыть без сохранения и т.п.

Внешний вид переработан в угоду эстетам - теперь окно основного редактора выглядит так.

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

Что касается испытаний для Wine, то пока все плохо. Первая попытка поставить убунту провалилась - инсталлятор линукса сначала показал 731% прогресса исполнения, а потом заявил, что отсутствует root file system или что-то в этом роде и предложил исправить дело в "partitioning menu", которое вызвать никак нельзя. На этом все и зависло. Я воспользовался инсталлятором убунты поверх винды (wubi.exe) и сказал ставить ее на свободный диск F. Там NTFS, подозреваю, что проблема в этом - хотя я надеялся, что инсталляшка по крайней мере сформатирует тот диск. Ан нет. Интересно, FAT32 ее устроит?

- Полный список изменений на странице загрузки
- Прямая ссылка для скачивания инсталлятора (11 Мб)
- Список возможностей редактора

[personal profile] no1u1w1w6c 2010-08-04 07:52 pm (UTC)(link)
а. то есть, стандарный старенький вариант, да. в принципе, мне лично неудобен, система подписки на сигналы лучше, мне кажется. в принципе, для неё даже отдельный препроцессор не нужен, можно на шаблонах нахреначить — libsig++, например.

то есть, в глубине Qt тоже, конечно, набор хандлеров, но он хорошо замаскирован. %-)

правда, в твоём варианте проще делать перехватчики, которые слопают или поменяют мессагу. в Qt есть фильтры, конечно, но выглядят как рукав на спине.

зыж а за скобочки на отдельных строках надо убивать, да. и за подчёркивания, потому что camelCase рулит. ну не смог удержаться! %-)

[identity profile] psilogic.livejournal.com 2010-08-04 08:00 pm (UTC)(link)
Да, стандартный лежит в основе - а то что к нему добавлено - так это аккуратный "поток" сообщений от одного объекта к другому, пока не доедят. что приятно - да, с .moc-ами заморачиваться не нужно, нет никаких жутких макросов {AFX-чего-то там} как в MFC

У меня обычно подчеркиваниями "выделяются" хандлеры и всякие коллбэки - так удобнее, сразу ясно, что вот handle_changed/send_changed_message будут дергать по событиям (handle_ - извне, send_ - вовне). А вот convertToTime - это некая функция общего вида.

[personal profile] no1u1w1w6c 2010-08-04 08:06 pm (UTC)(link)
в принципе, с теми же моками проблем нет, потому что qmake генерит вполне себе рабочий Makefile. я, правда, make ненавижу лютой ненавистью, а написать обёртку для любимого jam всё никак не соберусь.

а подчёркивания я ненавижу потому, что с паскаля начинал. а там сие не принято. %-)

mfc же — это ваще лютый пиздец, по-моему. не знаю, кто его придумал, но этому человеку надо отрезать половину жопы. это ж надо умудриться — иметь в руках c++ и так бездарно просрать все его полезные фичи.

Qt мне, кстати, нравится ещё и тем, что с ним stl нахуй не нужен. а stl я иррационально ненавижу.

[identity profile] psilogic.livejournal.com 2010-08-04 08:12 pm (UTC)(link)
ггг
у меня от STL только std::map, используемая в нескольких глубокожопных местах :) а так - тонна самопальных контейнеров. не так чтобы сильно отличающихся от STL по идеологии, просто больше функций и не надо писать длиннющие std::vector<хуй>::iterator...

особливо я люблю GBag - это хрень, куда можно сериализовать все подряд и потом доставать обратно