﻿Затронутрые файлы

TapeUnit.cpp
	в этом файле частота дискретизации используется для вычисления времени
	звучания файла, это не важно, т.к. при чтении wav ресемплируется как надо.
	Но msf распаковывается только с частотой 44100, поэтому возникает ошибка.
	Собственный CTape используется для получения информации о файле.
	Собственный CTape используется для сохранения в заданном формате.
	Используется только в СTapeManagerDlg

	!Будем использовать частоту по умолчанию 44100

LoadTapeDlg.cpp
	в этом файле частота дискретизации используется для вычисления времени
	звучания файла, это не важно, т.к. при чтении wav ресемплируется как надо.
	Но msf распаковывается только с частотой 44100, поэтому возникает ошибка.
	Собственный CTape используется для получения информации о файле.

	!Будем использовать частоту по умолчанию 44100

TapeManagerDlg.cpp
	в этом файле частота дискретизации используется для открытия входного
	устройства захвата звука, Наверное лучше пусть будет со стандартной 44100
	исправить или пусть пока так останется?
	Собственный CTape используется как буфер захваченного звука
	Использует объекты CTapeUnit

	!Будем использовать частоту по умолчанию 44100

TapeControlDlg.*
	CTape используется как объект, который воспроизводит и формирует аудиофайл
	Это объект, созданный в CMainForm.

	!тут делать нечего

TapeCtrlView.*
	Передаёт объект CTape своему дочернему элементу TapeControlDlg.
	Для этого используется объект, созданный в CMainForm.

	!тут делать нечего

Tape.cpp
	а вот тут всё серьёзно, надо полностью переделывать.

как оказалось, не всё так страшно.
tap файлы надо ресемплировать в текущий формат (!сделано)
только они и глючат.
теперь bin файлы тоже можно загружать как wav, не знаю зачем,
но возможность такая есть. Но они не ресемплируются в текущую
частоту дискретизации. (!сделано)


кроме того, сохранение файлов делается с текущей частотой дискретизации
А это не всегда нужно
Т.е. хинт с сохранением AYшной и ковоксной музыкой - интересен.
А для сохранения обычного wav файла с программой - достаточно 44100 Гц 1 канал 16 бит,
да и 8 бит тоже достаточно.
Вот тут конфликт интересов.


Нужно написать хоть какой-нибудь простенький ресемплер.
Но чтобы был универсальный, на все случаи предусмотренные в CTape.

Аналоговый ресемплер не подходит. Уже при двойном ресемплировании
44100-> Target SSR -> 44100 меандр превращается в жуткое непотребство.