Все сил моих больше нет:))
Сделал утилитку, точнее почти, для сжатия звуковых файлов (кодек со степенью сжатия wav файлов больше 2 - примерно 2,5).
То есть как архиватор, он не искажает звук, а просто сжимает звук а потом восстанавливает.
Оболочку решил написать на .НЕТ.:(( Сам кодек - классический С. (Компилятор vc позволяет смешивать не упрвляемый(классический ) код и управляемый в одном модуле, без всяких DLL.
Все пршло ОК. Но кто нить - может подсказаать.... нет слов.
char **name; // у меня есть двумерный массив.
/* -------- распределение памяти -------- */
name=(char **)calloc(3,sizeof(char *));
for (int i=0; i<3; i++)
name[i]=(char *)calloc(128,sizeof(char));
// Все в одном модуле, круто!
// а вот уже библиотечка .НЕТ
Path= openFileDialog1->FileName;// получаем полный путь
FileNa = Path::GetFileName(Path);// получаем имя файла
e_Xep= Path::GetExtension (Path);// получаем расширение. Круто, млин!
name[2]="c_atmos_1.wav";// проверяем свой массив
// а вот теперь не круто.
//Имя файла в классе Strind
// а мне его нужно запихнуть в name[2].
FileNa=name[2] ;//прекрасно работает
// а вот наобоорот никак
name[2] = ????
Сразу скажу перепробовал memcopy, strcpy и т.д. и т.п. Справка дымиться:)))
Доделаю раздам всем кто захочет, и кому и если нужно. Вещь полезная - обычный архиватор звук не жмет. А архивах звук часто очень много весит.
Мне эта утилитка нужна для сжатия звука в играх, и после закачки разжатия. Впрочем никто не мешает сжать звук а потом добавить в архив. 7zip уделаем:))
Кстати идея неплохая, учитывая, что исходники 7 ципа открыты.
Ответить
|