dagargo / overwitch

JACK client for Overbridge devices
GNU General Public License v3.0
120 stars 14 forks source link

feat: adds analog heat +fx. #50

Closed ianhundere closed 11 months ago

ianhundere commented 11 months ago

adds a new device, analog heat +fx. i haven't tested yet, but lemme know if it looks good and i'll then compile/test.

ianhundere commented 11 months ago

i think it works?

❯ overwitch-cli -l
0: Analog Heat +FX (ID 1935:0020) at bus 003, address 037

edit: i tried playing files and got the following with my current commit

❯ overwitch-cli -l
0: Analog Heat +FX (ID 1935:0020) at bus 003, address 039
❯ overwitch-play -n 0  ~/Desktop/snds/harmonic/0005\ 12-Audio-1.Converted.wav
ERROR:main-play.c:164:(run_play): Number of channels do not match inputs
ERROR:main-play.c:196:(run_play): generic error

so i tried bumping the number of inputs/outputs down to 2 with the following results:

❯ overwitch-cli -l
0: Analog Heat +FX (ID 1935:0020) at bus 003, address 039
❯ overwitch-play -n 0  ~/Desktop/snds/harmonic/0005\ 12-Audio-1.Converted.wav
ERROR:engine.c:328:(cb_xfr_audio_in): o2p: Error on USB audio transfer: LIBUSB_TRANSFER_OVERFLOW
ERROR:engine.c:328:(cb_xfr_audio_in): o2p: Error on USB audio transfer: LIBUSB_TRANSFER_OVERFLOW
dagargo commented 11 months ago

Everything looks right to me.

In the first error, I guess you're trying to play a 2 audio channels file thru a 4 audio channels device. Can you check this?

$ sox --i ~/Desktop/snds/harmonic/0005\ 12-Audio-1.Converted.wav

You can use overwitch-record to record a 4 channels audio sample that you can later play with overwitch-play. Is this working for you?

The second error is due to bumping the tracks amount as the tracks must match the ones in the USB packets.

Have you tried just running overwitch? It's the GUI and should just work in a JACK environment.

ianhundere commented 11 months ago

Can you check this?


❯ sox --i ~/Desktop/snds/harmonic/0005\ 12-Audio-1.Converted.wav

Input File : '/home/ianfundere/Desktop/snds/harmonic/0005 12-Audio-1.Converted.wav' Channels : 2 Sample Rate : 44100 Precision : 8-bit Duration : 00:00:05.39 = 237637 samples = 404.145 CDDA sectors File Size : 479k Bit Rate : 712k Sample Encoding: 8-bit Unsigned Integer PCM


> You can use `overwitch-record` to record a 4 channels audio sample that you can later play with `overwitch-play`. Is this working for you?

yup, this worked. :tada: 

> Have you tried just running `overwitch`? It's the GUI and should just work in a JACK environment.

![Screenshot from 2023-08-04 13-24-13](https://github.com/dagargo/overwitch/assets/138915/a9c37acd-a8a8-4b7a-bcbf-97ac56bbfada)

looks good, i'll continue testing and report back.
ianhundere commented 11 months ago

okay, more testing...after running overwitch and then going to my daw, bitwig, i was able to assign the respective inputs/outputs and i confirmed input coming from the AH into the daw...so, i think it all works?

this did happen at one point as i was choosing AH inputs in the daw:

❯ overwitch
zsh: segmentation fault (core dumped)  overwitch

edit: happened a couple more times, and i think, each time it was when i was configuring channels in the daw:

❯ overwitch
zsh: segmentation fault (core dumped)  overwitch
❯ overwitch
zsh: segmentation fault (core dumped)  overwitch
ianhundere commented 11 months ago

@dagargo so i think this is ready to merge? :thinking:

dagargo commented 11 months ago

Looks like it's working well so... Merged.

Regarding the segmentation fault, could you try to replicate the issue while running gdb or open the core file in gdb to get more information or the backtrace? Could you open an issue to report your findings?

each time it was when i was configuring channels in the daw:

I don't think this has happened to me but I'll try to replicate it.

ianhundere commented 11 months ago

Regarding the segmentation fault, could you try to replicate the issue while running gdb or open the core file in gdb to get more information or the backtrace? Could you open an issue to report your findings?

done and done: https://github.com/dagargo/overwitch/issues/51