Как стать автором
Обновить

Комментарии 22

хорошая библиотека, использовал её давно для игры. единственное нарекание — при цикличном воспроизведении ogg файла через некоторое время музыка «замедлялась». и, емнип поддержка и разработка давно прекращена. поправьте, если ситуация изменилась.
Может, стоило все же использовать массивы, а не вываливать на читателя китайский код.
В чём преимущество перед другими библиотеками, например PortAudio?
У меня есть почему-то стойкое ощущение что подобная статья не совсем для Хабра…

Вопрос к автору, раз уж вы решили в цикле проверять нажатие клавиш, то почему у вас прописано:
        if(notePlay=='q') do1->play();
        if(notePlay=='w') re->play();
        if(notePlay=='e') mi->play();
        if(notePlay=='r') fa->play();
        if(notePlay=='t') sol->play();
        if(notePlay=='y') la->play();
        if(notePlay=='u') si->play();
        if(notePlay=='i') do2->play();


а не:

        if(notePlay=='q') do1->play();
        else if(notePlay=='w') re->play();
        else if(notePlay=='e') mi->play();
        else if(notePlay=='r') fa->play();
        else if(notePlay=='t') sol->play();
        else if(notePlay=='y') la->play();
        else if(notePlay=='u') si->play();
        else if(notePlay=='i') do2->play();

Статья подается как учебный материал, но учит не очень хорошему стилю.

А вообще я бы посоветовал использовать switch в подобных случаях.
И ещё полное отсутствие форматирования. Вот из-за этого и существует gofmt. Мало кто из новичков, задумывается о хорошем форматировании.
это существенная ошибка, благодарю, исправлено.
Еще мне кажется у вас ошибка в коде:
char inputVar[30]; //наша строка-массив
int i=0; //счётчик для функции
while(!inputVar[i]=='\r' && i<100)
{
inputVar[i]=getche();
i++;
}


Вы создаете массив на 30 элементов, но вот счетчик у вас почему-то до 100.

P.S. Интересно, кто-нибудь догадается на Хабр написать статью про написание HelloWord на С++…
благодарю, поправил!
Еще один вопрос автору, зачем делать вот это:
файл «audiere.lib» в папку «lib» компилятора, а заголовочник «audiere.h» также в папку «include» вашего компилятора

если честно, не совсем понятна логика сего действа. В современном мире есть IDE, которые не позволяют подключить библиотеку к проекту и надо все используемые библиотеки и заголовочные файлы копировать туда, где расположены файлы стандартной библиотеки?

А какой конкретно компилятор вы имели ввиду? Может есть менее экзотические способы подключать библиотеки ?!
для нас с Вами это очевидные вещи, но это «helloworld» для звука. Я ориентировал её на тех, кто возможно ни разу ещё не подключал сторонних библиотек.Пусть Ваш комментарий и будет дополнением к подключению библиотек
Ну как бы выразиться поточнее…
Дело не в том, очевидные это вещи или нет. Дело в том, что вы учите не совсем правильному подходу. Я не против как таковых статей для новичков, я против того, чтобы этих новичков учили неправильным вещам. Переучивать их потом выходит дороже, чем учить с нуля.

И если вы позиционируете статью как учебную, тогда вам вопрос от новичка, где человек должен искать у себя на ПК папку с компилятором? Вы ведь не показываете пример работы в какой-то конкретной среде, я могу использовать VisualStudio, могу использовать связку Qt+MinGW и т.д.
Так как новички обычно не устанавливают компилятор вручную, а ставят сразу какую-нибудь IDE, мне лично кажется что процесс поиска папки, где расположены стандартные библиотеки компилятора, будет для них не совсем тривиальным, и скорее всего они полезут в Гугл. А если они полезут в Гугл, зачем нужна ваша статья?

Мало того, что в самом коде есть ошибки, так и в ней нет каких-то особенностей, относящихся конкретно к Audiere, поменяй имя библиотеки с Audiere на любое другое имя и 80% статьи останется без изменений.
Хочу выразить одну мысль, хотелось бы узнать Ваше видение.

Хабрахабр имеет возможность оставлять комментарии проверенных пользователей, которые, по-видимому по логике здесь уже находятся с чёткой целью — совершенствовать способности. Из рационального подхода и всем искренним желанием своего сердца, я всё же, надеюсь, что мы не будем учитывать некоторый процент самоутверждения среди пользователей, когда мы занимаемся бессмысленными обсуждениями или мыслями, без которых можно обойтись.

Теперь после предисловия, сама мысль: я думаю, вернее будет использовать статьи, как предмет потенциально незаконченный (иначе бы здесь не было возможности редактирования), а как предмет с редакцией. Я думаю, комментарии под статьёй в первую очередь должны быть направлены на пополнение статьи, обогащение её опытом каждого. В конце концов, нет более правильного способа сделать что-то хорошо, кроме как улучшить, то что сделано недостаточно хорошо. Есть редкие случаи когда не следует улучшать то, что не способно заработать — но это чаще всего уже определено в момент создания. Если бы мы, как люди, направившие общее устремление к движению к гипотетической, но силой важной — к истине, и были ювелирами мысли, то я думаю многие предметы, включая подобные статьи стали бы гораздо эффективнее. И у меня к Вам вопрос, я уверен, что когда-то Вы сталкивались с резким отношением к своим мысленным рассуждениям. Чаще всего критическое отношение имеет ключ «Нет, это не нужно.». Вы наверно задумывались, что созиданием можно было бы сделать куда больше, чем пресекать даже попытки что-то изложить. Мне нравится пример некоторых русских классических литературных критиков: в их критических статьях они не рубили с плеча рассматривая рассказы и их авторов, а были глубоко вовлечены в их становление и движение к усовершенствованию, были соучаствовавшими в их достижении мастерства.

В послесловии Вас хотел бы поблагодарить за критические дополнения. Думаю, (нам ведь есть чему учиться ) нам нужно немножко менять отношение от критических оценок, всё-таки это не работает и не помогает.
Если вопрос именно ко мне, то я честно говоря его не понял. Вы не могли бы сформулировать свою мысль более кратко.
Вы хотите чтобы какую-то не очень удачную (я сознательно избегаю слово плохую) статью в комментариях за вас дописывали пользователи? Этакий аналог вики, когда вы пишете что-то, вас поправляют в комментариях, вы переписываете статью?
Если вам интересно мое мнение, то я против этого. Мне кажется будет полный бардак. Сейчас не редкость, когда комментарии интереснее самой статьи, но это часто происходит само-собой, а вы по факту предлагаете это поставить на поток. Если конечно я вас правильно понял.
Думаю здесь ключевая ошибка в концепции, что что-то принадлежит мне или ему, у меня есть глубокое убеждение, что переход во всеобщее достояние имеет в перспективе более полную свободу для совершенства и пользы для человечества, нежели желание иметь собственность. Но это я лишь предполагаю, ошибается всякий. Мне кажется, что в вики это довольно глубокая идея обобщения всеобщего опыта. По поводу бардака — думаю есть вероятность, что нынешний вариант это не менее хаотичное и разбросанное качество организации статей. Та статья, которая была написана несколько лет назад и уже устарела — больше уже не перепишется, не обновится, не исправится. Всё-таки во всём должны существовать формы, если бы их не было, то, например музыка была бы лишь чередованием несвязности. Также и научный и публицистический материал должен быть организован в формы, например энциклопедии. Есть возможности обновлять, совершенстовать форму — и энциклопедия в этом тоже ещё может измениться. Но у энциклопедичности есть минус несомненный — данная форма лишает индивидуальности, соответственно статьи бы здесь потеряли налёт человеческого обличия.

Получается, что подобие «гонзо-журналистики» — добавляет приятный оттенок живой истории или рассказа, в ущерб энциклопедичности; а энциклопедичность, имея наиболее совершенную форму в передаче фактической информации, становится холодным бездушным текстом. Выходит, что подобные статьи, как у меня, и лишенные энциклопедичности — это тот возможный процент, где у этой концепции имеются минусы и позволяют появляться определенному проценту незавершенных статей.
В конце концов, в корне лежит простое человеческое желание чем-то поделиться, радостью творчества или открытия. Когда-то мне очень хотелось бы даже подобной статьи, но её не было. Статьи ориентированные на новичков часто переполнены излишками иной информации, хотя несомненно нужной в перспективе. И когда ты всего лишь хочешь сделать винт для самолёта, тебе рассказывают как построить весь самолёт. И таким образом статьи в которых указаны мельчайшие нюансы, вызывают перегрузку информацией и замедляют процесс обучения. Я однажды пробовал читать Кантора и его теорию множеств — и конечно же из этого ничего не вышло. Обучающийся, если он на самом деле учится — обучится, и отточит всё что нужно. У меня есть мысль, что так часто упоминающееся заучивание плохого стиля кода или иных механических повторений — свойственно тем, кто в сути и не обучается, а лишь подстраивается под выполнение определенных требований. Человек, цель которого решить задачу и получить за неё хорошую оценку (не вылететь с работы) — никогда не задумается ни о каком стиле, или лучшем алгоритме. В таком смысле, под редакцией статьи я лишь подразумевал желание человека учиться, принимать свои ошибки, перестать подпитывать собственное самоутверждение; а со стороны иных людей — желание помочь, а не изобличить, действие — а не оценочная критика, перестать относиться друг к другу в соревновательной концепции и не давать ход ко взаимному унижению. Вся эта система собственничества и самоутверждения в социуме ведет лишь к деградации моральных аспектов человека, людям недостаёт простоты, равнодушие и отношение друг к другу как к лишь безжизненным механизмам усиливается, мы резко настроены против друг друга и скпетицизм используем не для движения к чему-то наиболее верному, а на самом деле для того, чтобы нас не пошатнули. Мне бы хотелось, чтобы люди помогали друг другу, учит всегда лишь собственный пример. Один строитель видит камень у основания непрочный — и меняет его, а не ищет виноватых показывая как сейчас рухнет дом. Он показывает как его сохранить. Всё же я думаю есть, что можно ещё улучшить в наших способах делиться информацией в интернете и обучаться, многое работает не достаточно хорошо и это можно менять.
Я понимаю вашу мысль, но давайте ее продолжим так. Что, если бы читатели могли дописывать книги или вносить в них исправления? И в журналы бы отправляли свое видение, как должна выглядеть статья по их мнению.
Статья или роман тем и отличается от вики, что это законченное произведение.
А так возможно один читатель захотел бы, чтоб Анна Каренина не бросилась под поезд, а повесилась, другой бы захотел, чтоб она выжила и вышло еще 15 книг про ее жизнь и т.д. В этом случае вы, как автор, не несете никакой ответственности за содержание статьи.

Возьмем даже текущую статью, первоначально в переборе нажатых кнопок было использованы условия if. Я сказал, что в данном случае, если уж так хочется использовать if, стоит использовать else if. Но, я также по прежнему считаю, что в данном случае необходимо использовать switch. Будем править статью еще раз?
А придет другой, и скажет, что ему else if привычнее. Что будем делать? На каждую статью назначать редактора, который будет выбирать наиболее правильное, с его точки зрения, решение? На вики ведь так и происходит, статьи правятся редакторами.
Мне кажется идея несколько утопическая.
Относительно обучения.
Мне кажется это процесс индивидуальный.
Лично я критику воспринимаю вполне спокойно, и если ко мне подходит человек и обосновано говорит что все, что я написал это полная фигня и все надо переписать, потому-то и потому-то, я это нормально воспринимаю и благодарен ему за это, потому что на этом и строиться процесс обучения.
Ведь в школе вам ставят вполне спокойно 2 или 3, а не только 5, ради того, чтобы у вас не пропало желание учиться. Я лично всегда был против натягивания каких-либо оценок.
Относительно этой конкретной статьи, я лично удивлен, что вы ее когда-то хотели увидеть, запрос в гугл: «как подключить стороннюю библиотеку. С++» выдаст вам кучу таких же статей.
С Новым Годом :)
поправил!

С точки зрения перспективы Ваш открытый проект можно преобразовать в программу-тьютор.
Сейчас есть открытые видео- аудио- редакторы, компьютерные игры, много иных программ, даже системы проверки программ в спортивном программировании — а вот из программ, обучающих программировать я знаю только одну — AdaTutor.
С учётом того, что в вашем проекте можно будет обучать С и С++, популярность такой программы будет куда выше чем программы для языка Ada.

К сожалению, Audiere уже очень давно не поддерживается и поэтому ее будет очень тяжело использовать в серьезных проектах. Мы раньше ее использовали в нашем игровом движке. Когда делали вещи более сложные чем простые play/stop/pause возникали проблемы. Пришлось копать код Audiere и вносить мелкие правки. Но чем более активно пользовались библиотекой, тем больше появлялось проблем и чтобы их править нужно уже было тратить значительное количество времени, чтобы раскопать что же происходит внутри Audiere. В конце концов перешли на связку SFML.Audio + OpenAL Soft — больше проблем с аудио не знаем.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории