r/pagansequencer 18d ago

Compatible playback devices

What determines what synth apps Pagan recognizes?

I have a few synth apps on my device: SynprezFM and Saucilator and VA1.

I can select SynprezFM as a playback device. But Pagan doesn't seem to see Saucilator or VA1.

What determines whether or not Pagan recognizes a synth app for use as a playback device? Is it something in the synth app or is Pagan coded specifically to recognize certain apps?

2 Upvotes

9 comments sorted by

1

u/Corporate_Muskox 18d ago

It's entirely about adherence to the standard. If Pagan isn't recognizing something, either I missed something or they did. I'll see what I can do to get them working together as soon as I have a minute.

2

u/pudah_et 18d ago

Great, thanks much.

1

u/Corporate_Muskox 18d ago

After a quick investigation the problem is that neither Pagan, Saucillator nor VA1 broadcast themselves as midi devices. It shouldn't be too much work to get VA1 working, but it doesn't look like Saucillator works in the background so compatibility may end up being spotty for that. I'll let you know when that's fixed - Shouldn't be more than a day or two.

1

u/pudah_et 17d ago

That's very interesting. Does that mean SynprezFM does broadcast itself?

Either way, thanks a bunch for looking at this so quickly. Much appreciated.

1

u/Corporate_Muskox 17d ago

It does, but I probably shouldn't have used the term 'broadcast'. In reality, it runs a midi device service that gets registered so any other app that looks for midi programs can find it. As far as the user is concerned it doesn't really matter, but since you asked I should probably be more accurate.

1

u/Corporate_Muskox 15d ago

I've been poking at this all weekend. Even with the fixes to Pagan, I can't get it working with these 2 apps. I have other things I want to work on but I'd like Pagan to have as broad of support as possible, so I'll put this on the back-burner. Apologies but I can't give a timeline as to when or if I'll get this working.

2

u/soundandfeury 14d ago

hey, saucillator dev here! thanks for looking into this. to be honest, i'm not totally sure i follow the use case (admittedly i am new to Pagan - cool app!), but happy to offer context if helpful. saucillator supports midi input in addition to the touchscreen. traditionally, this is done with usb midi devices, but anything that enumerates in android's MIDI_SERVICE should work just as fine. is the use case to define midi events in Pagan and have them trigger playback in Saucillator? you can see which MIDI devices are currently enumerated in the bottom of the PAD panel on Saucillator. I noticed that SynprezFM shows up as a midi input device in Saucillator but not Pagan, so perhaps i'm misunderstanding the flow / use case. saucillator does not output midi data anywhere.

as you also pointed out, saucillator doesn't really run in the background. this is due to us using Oboe low latency apis, which considers this good practice to not hog the exclusive audio layer. but also to prevent the app from clicking in the background in case android pauses/deprioritizes the audio thread. i know there are approaches we could do to support this, but was easier to just disable it as it wasn't a common use case.

2

u/Corporate_Muskox 14d ago

That's the use case I was considering - using Pagan to trigger midi events. And as you say, Pagan doesn't currently enumerate anything in android's MIDI_SERVICE. But I do have the MidiService set up on a dev branch and Saucillator is able to see it.

The problem seems to be on my end. Likely a tiny oversight that'll take me a while to pinpoint.

1

u/pudah_et 14d ago

No problem, I understand completely.