а зачем ты к сий софтине вернулся ??? бери мейнстрим фосс == там и возможность под вынь компилить, и сорцы живые.
Мне эта софтина нравится по двум причинам, 1. она компактна, ... 2. я на 75 % её понимаю, .... Осталось понять остальные 25 %,
Ты знаешь никак не могу понять где в программе задаётся откуда будет читаться семпл, аудио устройство понятно, сами задаём, а аудио вход то где у меня их два линейный и микрофонный ... гдб прям как гнб (глубинно наклонное бурение) прикольный аппарат под дорогами, речками, и другими труднопроходимыми местами используется в основном под оптику
Да не я хотел эту прогу протестировать на компе, и если все ОК, код перенести на AVR32 Вот такие грандиозные планы у меня были, ....
А сейчас уперся в то что на виртуалке не работает, а поставить на железо пока не возможности, ну я просто разбираюсь с кодом смотрю что где.
У меня есть реализация всего этого на stm32(не моя конечно), причем рабочая, но там как то все заморочено https://drive.google.com/drive/folders/19_ZOCKLtuc13gbtm166K54byILQUa5DI
Прошел поиском по всем файлам, так и не нашел где указано с какого входа читать семпл, А вот количество каналов записи вроде вот тут задаётся if ((err = snd_pcm_hw_params_set_channels(capture_handle, hw_params, channels)) < 0) { Переменной channels Код (C++): snd_pcm_t *capture_handle, *playback_handle; if ((err = snd_pcm_open(&capture_handle, sndcard, SND_PCM_STREAM_CAPTURE, 0)) < 0) if ((err = snd_pcm_hw_params_any(capture_handle, hw_params)) < 0) { if ((err = snd_pcm_hw_params_set_access(capture_handle, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) { if ((err = snd_pcm_hw_params_set_format(capture_handle, hw_params, SND_PCM_FORMAT_S16_LE)) < 0) { if ((err = snd_pcm_hw_params_set_rate_near(capture_handle, hw_params, &rate, 0)) < 0) { if ((err = snd_pcm_hw_params_set_channels(capture_handle, hw_params, channels)) < 0) { if ((err = snd_pcm_hw_params(capture_handle, hw_params)) < 0) { if ((err = snd_pcm_prepare(capture_handle)) < 0) { snd_pcm_close(capture_handle); if ((err = snd_pcm_readi(capture_handle, samples, rate)) != rate) {
Отсюда: Код (C++): if ((err = snd_pcm_open(&capture_handle, sndcard, SND_PCM_STREAM_CAPTURE, 0)) < 0) sndcard содержит имя устройства захвата аудио, оно же и открывается для захвата.