Headless, Rasberry-Pi, other Questions?

Good ideas, proposals, enhancements.
Post Reply
Robbo67
F1 - Bilberry
Posts: 1
Joined: Thu May 15, 2014 12:30 pm

Headless, Rasberry-Pi, other Questions?

Post by Robbo67 » Thu May 15, 2014 12:56 pm

Hi,
I'm new to the giada forum and have been looking for a simple example of a source code for implementing audio and midi to Jack and ASIO (windows) in different platforms. I've found the information on the development easy to understand compared to other DAWs and looper's out in the GPL world. Hats off for simple interface although the coding for the GUI looks difficult.

I'm wanting to do a project and develop a Track player which plays Max of 16 audio tracks including 1 Midi track to be in sync with audio. In sync I mean the tracks have been imported from another DAW. The midi track includes tempo metadata which varies across the song, so audio will be in sync since the midi was created at the same time as the audio. Apparently MusE, Non-Daw (timeline) is able to properly adjust the transport during midi playback.

Questions, Can the core code be made to run as a daemon or background. idea is like Linuxsampler and the Jackclient Daemon? Anyone done anything like this using the core workings without the UI?

In addition, I've loaded 5 tracks as samples into giada and it had no issues playing these back however, what would be involved to load 16 tacks and lock the transport to playback from start to finish. add markers to able to loop a section once the timeline advances past the first maker? I understand giada is not for this although its got the working to be able to modify the code to exactly what I want.

What involved to play a midi track with the audio using RTAudio core?

Great work anyone any ideas or code to do this.

Thanks

User avatar
FFT
F14 - Syrian Rue
Posts: 549
Joined: Thu Mar 08, 2012 6:51 pm

Re: Headless, Rasberry-Pi, other Questions?

Post by FFT » Sun May 18, 2014 9:03 am

Hi Robbo, thanks for the hats-off!
Questions, Can the core code be made to run as a daemon or background. idea is like Linuxsampler and the Jackclient Daemon? Anyone done anything like this using the core workings without the UI?
I think you can. Giada follows a milk-and-water MVC pattern under the hood: the View (FLTK stuff), the Model (KernelAudio, KernelMidi, ...) and the Controller (Glue). The latter is responsible for "gluing" the core to the GUI. For example when a MIDI event comes in, it triggers some part of Glue which in turns updates the GUI.

You should be able to detach the GUI part from the core by calling Glue functions (everything is inside glue.h) but you should also remove from it any reference to FLTK. Your idea sounds intriguing, we can assist you! :D
In addition, I've loaded 5 tracks as samples into giada and it had no issues playing these back however, what would be involved to load 16 tacks and lock the transport to playback from start to finish
If I understood well that involves an advanced sequencer being able to jump back and forth between beats and other fancy stuff. We have something like that in our theoretical roadmap. No code available right now, though. By the way you should try to look inside KernelAudio.h/cpp and the main callback: sequencer handling occurs there.
What involved to play a midi track with the audio using RTAudio core?
It depends, because up to now a MIDI event is always sent to a VST which in turn translates it to audio data. Are you trying to "drive" a sample channel via MIDI, or playing a MIDI file?

Post Reply