Comments 23
Многие пользователи компьютерных программ когда-нибудь нажимали «не туда» и пытались отменить действие… Так вот найденная ошибка в Audacity заключается в том, что условие, проверяющее нажатую кнопку в диалоговом окне, не зависит от того, нажали на «No» или нет :D
Таки зависит, посмотрите на вашу же таблицу еще раз:
+2
Таблица верная. И ошибка в коде есть. Суть в том, что результат условия зависит только от того, нажали YES или нет. Добавление дополнительных кнопок также не будет влиять на результат.
0
Учитывая что других кнопок в том окне нет в принципе (wxYES_NO) — ошибка сводится к тому что слева и справа от || написано одно и то же.
+2
Я согласен, что «нажать на wxNO» = «не нажать на wxYES», но ошибку надо исправить, пока не добавили ещё кнопку. Или хуже того, не скопировали всё это в другое место.
+2
Ardour?
0
Спасибо, добавил себе в список.
0
Поддерживаю, хотя и переживаю за глаза единорога :) не поэтому ли уже пришлось очки одеть? Судя по тому как работают Ardour, JACK и все эти Catia/Claudia/LADISH, Cadence и открытые драйвера внешних многоканальных звуковых карт (а именно — изредка и вопреки здравому смыслу), единорог может заплакать.
0
В очках отражается энергия звука) Но вы правы насчёт качества кода. Выбор проектов не типичен для нас, они довольно маленькие и я изначально сомневался в возможности работы с ними. Даже думал об объединении нескольких проектов в статью, чтобы хоть как-то затронуть музыкальный софт, но реальность такова, что материал стабильно набирается с каждого проекта.
-2
То, как работает std::remove() — это один из моментов, когда становится стыдно за дизайн языка С++.
+5
Не сказал бы что так уж плохо все. В моей практике очень часто встречалась задача удалить некоторый набор данных из вектора а потом вставить в конец что-то новое. Если бы std::remove() сразу выполнял операцию erase то на один realloc могло быть больше в этом случае…
+2
В том-то и дело. С++ ставит эффективность в приоритет и возможность делать вот подобные Вашей штуки — его суть. Но это не должно называться «remove». От операции с таким простым названием ожидаешь простого, интуитивного поведения. И она должна именно что удалять с изменением размера контейнера. А то, что понадобилось Вам, должно называться как-то типа «remove_no_erase» и вызываться лишь в редких случаях, только полностью осмысленно.
+5
Спасибо за статью, но тут явно избыток мемов. Две-три штуки хватило бы.
Похоже один из разработчиков догадался, что такой код не имеет смысла, но вместо исправления кода, решил его прокомментировать.
// Иногда мне кажется, что компилятор игнорирует все мои комментарии
0
Спасибо за материал. Побольше бы разборов на тему работы со звуком
0
UFO just landed and posted this here
trollface
Вы проверяете достаточно неплохой код. А как на счёт чего нибудь более грязного? Например Grafx2.
http://pulkomandy.tk/projects/GrafX2
https://gitlab.com/GrafX2/grafX2
SDL2 и SFML кстати незаслуженно обошли.
0
Sign up to leave a comment.
Обзор дефектов кода музыкального софта. Часть 2. Audacity