Wpis z mikrobloga

#programowanie #audio #cpp

Używał ktoś może biblioteki BASS? Bo kompilator zwraca mi uwagę na pewną rzecz i trudno mi się mu dziwić trochę.

Przedostatni argument tej funkcji ma rzekomo typ WASAPIPROC:
http://www.un4seen.com/doc/#basswasapi/BASS_WASAPI_Init.html

Tylko jak sobie klikniemy na niego to ukazuje nam się funkcja, która zwraca DWORD:
http://www.un4seen.com/doc/#basswasapi/WASAPIPROC.html

No i kompilator oczywiście nie chce mi tego przyjąć. Co trzeba zrobić?
  • 80
@JoeBlade: Teraz stworzyłem nowy projekt od zera całkowicie i krok po kroku sprawdzałem kiedy się kompiluje. Problemy zaczynają się w momencie includowania tej klasy do MainWindow. Na 64 bitowym kompilatorze mówi, że nie ma takiego pliku jak bass.h zaś na 32 bitowym sypie z miejsca. Wywalam includa - znowu się kompiluje.
@Khaine: z tym brakiem pliku bass.h dla x64, to już niezłe jaja. Czy w tym QtCreatorze jest coś takiego "Call Stack" z Visual ? W momencie błędu byłoby wiadomo gdzie wystąpił błąd.
@Khaine: może w QtCreatorze jest wyłączone przechwytywanie wybranych wyjątków i dlatego "Call stack" nic nie łapie ? Pytanie tylko, czy coś takiego jest dostępnego w opcjach.

Jeszcze jedno co mi przyszło do głowy, to brak uprawnień do plików BASS`a na c:\. Próbowałeś uruchamiać QtCreatora jako administrator ?

UAC(kontrola użytkownika) jest wyłączona ?
@JoeBlade: Na dysku D znalazł plik nagłówkowy i znowu wysrał 10 błędów linkera. A 32 bit sypie po staremu. Po zmianie na x64 ścieżek znowu są te 4 błędy co kiedyś.
@JoeBlade: Sprawdzałem ze starszymi wersjami Qt, bo mam zainstalowany cały pakiet i też się #!$%@? (nie zgadzają się tutaj wersje Visuala). Nie wiem czy nie będę musiał czasem zrobić tego na bezpośrednim WASAPI w takim razie. Ale z WASAPI będzie kupa #!$%@? ;_;

Zastanawia mnie czy mogę z WASAPI utworzyć samego streama z loopbacka i go przechwycić bibliotekami Qt:
http://doc.qt.io/qt-5/audiooverview.html

Na pewno byłoby to prostsze niż od góry do dołu czyste
@Khaine: na samą myśl o czystym WASAPI robi mi się niedobrze.

Przechwycenie WASAPI poprzez Qt audio? Wątpię, aby udało się to tak prosto zrobić.

Najprościej jakbyś użył mixera wbudowanego w Windows: http://www.howtogeek.com/howto/39532/how-to-enable-stereo-mix-in-windows-7-to-record-audio/

Dobrze jakby się to dało wybrać i ustawić programowo(możliwe że się da).

Przy czymś takim wybierasz tylko w Qt przed nagrywaniem urządzenie nagrywające jako "Mixer audio" i gotowe. Masz nagrywanie tego co wylatuje w głośniku.
@JoeBlade: Mam mixer i wiem, że mogę go użyć dziecinnie prosto na jana z Qt. Tylko aplikacja ma w założeniu być raczej portable a nie każdy taki mixer posiada. WASAPI loopback daje 100% pewności złapania streama na każdym kompie.

Ogółem mam sampla z WASAPI który robi dokładnie to samo co ja chciałem BASSem w tej chwili - nagrywa 10 sekund wava. Ale to co BASSem robiłem w jakichś 20 linijkach w