Показать сообщение отдельно
Старый 04.03.2014, 02:28   #80
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 983
Написано 390 полезных сообщений
(для 634 пользователей)
Ответ: Russian Sound System

Я пока разбираю твои коды, ничего нового не добавлял - мне нужно понять то что уже есть. Я думаю еще 1-2 дня нужно.

Так вот там в кодах инициализируется первичный буфер dsound - он вроде нигде не нужен.
Я первичный буфер убрал.

А также ещё пачка репортов:
* Макросы IS_SHORT_EVEN и IS_SHORT_NOT_EVEN по моему ты местами перепутал, ведь num & 1 даёт true для нечёта.
* Также ты используешь abs в расчётах с float, но abs округляет до целого числа - нужно использовать fabs из cmath.
* Еще я заметил что в Sound::getSamples теперь currentSample сначала преобразовывается к целому числу и затем определяется чёт/нечёт, это я так понял сделано специально для того чтобы плавающий pitch не сдвигал выборку на один семпл в противоположные каналы?

В общем будет неплохо если поделишься статьями и материалами (кроме msdn), которыми ты руководствовался когда все это делал, чтобы у меня был примерно такой же ход мыслей для лучшего понимания.

Но код слиииишком сложный и навороченный, хотя может ты и разберешься.
Да помню этот двиг, я его даже хотел вместо твоего заюзать
Коды глянул - как будто чел прогал на шарпе, эти методы размером больше экрана прямо инлайном вбивались. Оформление отвратительное.
Тут конечно каждому свое, может кто то любит чтобы за него всякие AStyle'ы делали.
Я же привык все сам форматировать.

То что касается твоего двига: целесообразно уже С++11 использовать, а также std - в 11 там всё отлично. И поменьше юзать расширения msvs - ведь потом проблемы с переносом будут (но и не делать всё универсально - в msvs есть свои плюшки). Я взял за основу конвенцию кодирования idSoftware и доработал под свои требования - стараюсь её придерживаться - вот она (ru/en, en - обычно свежее).

Посмотрим как дальше пойдет, если двиг будет перспективный (какие у тебя планы то? блиц3д в том числе?) то можно в репозиторий залить.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (04.03.2014)