ahlstromcj / sequencer64

A major reboot of Seq24. Current release 0.97.0 (2021-05-13), native JACK MIDI, Song recording, playlists, and a Windows/Qt version. For fresher code, see the Seq66 project. Note that trigger and mute-group-in-MIDI-file formats have evolved! Back up your work!
GNU Affero General Public License v3.0
236 stars 28 forks source link

[Feature request] No gui #64

Open y1ds opened 7 years ago

y1ds commented 7 years ago

I remember reading somewere of plans to make it possible to run without gui. I was wondering if this is gonna happen cause it would be really helpfull for my raspberry pi drumcomputer project, if someone could give me some hints I could also have a try at it, but my coding skills are not that great

ahlstromcj commented 7 years ago

Currently I am taking a brief hiatus to catch up with the yoshimi-doc and sequencer64-doc projects. I will probably look into this issue next. Two initial things needed for this task: flesh out the MIDI control feature to handle additional controls such as start/pause/stop; and pull out any GUI dependencies from the seq_gtkmm2 library. I've already done a lot for the latter. Once these two things prove out, I will probably develop a lightweight command-line interface so that I can test and find any other things that need to be done. Someone also would like OSC control, but I gotta research that.

ahlstromcj commented 7 years ago

This code can be found in the latest wip commit, in new directory Seq64cli. It is very rudimentary right now, and you must have a good setup as verified by running the GUI version, and currently you can only load a MIDI file by making the last argument on the command line. You must also configure the new Stop, Pause, and Start MIDI controls. Eventually we'll have more controls, daemonization, and some external control mechanism such as the OSC support requested in issue #27 IIRC.

ahlstromcj commented 7 years ago

Okay, still need to work on better ways to load files, but no-GUI mode works. Bootstrap with the --cli option, the resulting executable is Seq64cli/seq64cli. Can add the "-o daemonize" and "-o log=filename" so it runs in the back and logs info. See the latest code and documentation in master. Still a ways to go, but it seems to work.

ahlstromcj commented 7 years ago

Now I have a question. I've been looking into OSC; see the osc-related text in doc/dox, and am thinking seq64 needs to support a command-set similar to renoise. Does anything know what the various OSC clients send out, how configurable they are, is there a stock way to format the commands? I'm looking at the OSC spec, and it seems a little open-ended. Thanks!

simonvanderveldt commented 7 years ago

Now I have a question. I've been looking into OSC; see the osc-related text in doc/dox, and am thinking seq64 needs to support a command-set similar to renoise. Does anything know what the various OSC clients send out, how configurable they are, is there a stock way to format the commands? I'm looking at the OSC spec, and it seems a little open-ended. Thanks!

@ahlstromcj OSC is very open ended indeed. If I understand it correctly you're totally free to define the messages/structure you want. One the recent projects that adopted OSC was zynaddsubfx, maybe you can ask Mark about his experiences and suggestions? Otherwise afaik all the non stuff uses OSC, so male might be able to give you some pointers from experience as well.

layk commented 6 years ago

Reminding that at the moment master and qt5_reconcile branch compile and install seq64rtmidi version with ./bootstrap -er -cli There is a 'seq64-saved' binary in Seq64cli folder though.

I just debugged OSC with android clients and non-mixer and it seems that many free android clients send data/values as not float thus not understood by liblo which non-mixer uses(http://liblo.sourceforge.net/). TouchOSC Client seems to work sending data correctly.

It would be helpful to be able to compile -cli. I'm looking at bootstrap but have not yet find any solution. I tried with ./bootstrap -er -cli, ./bootsrap -cli ->./configure --enable-cli.

ahlstromcj commented 6 years ago

I will look into it. That saved binary should not be archived! Thanks for these reports! Keeps me on my toes!

On Thu, Mar 8, 2018, 20:03 layk notifications@github.com wrote:

Reminding that at the moment master and qt5_reconcile branch compile and install seq64rtmidi version with ./bootstrap -er -cli There is a 'seq64-saved' binary in Seq64cli folder though.

I just debugged OSC with android clients and non-mixer and it seems that many free android clients send data/values as not float thus not understood by liblo which non-mixer uses(http://liblo.sourceforge.net/). TouchOSC Client seems to work sending data correctly.

It would be helpful to be able to compile -cli. I'm looking at bootstrap but have not yet find any solution. I tried with ./bootstrap -er -cli, ./bootsrap -cli ->./configure --enable-cli.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ahlstromcj/sequencer64/issues/64#issuecomment-371678422, or mute the thread https://github.com/notifications/unsubscribe-auth/AHnVqGdtMWDLyRnAgSiQMSahbmkzij0pks5tcdTugaJpZM4MNHl- .

ahlstromcj commented 6 years ago

Okay, the cli build should work now. The "build_rtmidi" flag is on by default, and needed to be turned off when "build_rtcli" was turned on.

Sorry about the mixup. Also got rid of the seq64cli-saved file.

Still laboring to get the qt version to build and run. Not a big fan of Qt 5 versus Gtkmm 2.4. Too ponderous.

-------- layk 01:03 Fri 09 Mar --------

Reminding that at the moment master and qt5_reconcile branch compile and install seq64rtmidi version with ./bootstrap -er -cli There is a 'seq64-saved' binary in Seq64cli folder though.

I just debugged OSC with android clients and non-mixer and it seems that many free android clients send data/values as not float thus not understood by liblo which non-mixer uses([1]http://liblo.sourceforge.net/). TouchOSC Client seems to work sending data correctly.

It would be helpful to be able to compile -cli. I'm looking at bootstrap but have not yet find any solution. I tried with ./bootstrap -er -cli, ./bootsrap -cli ->./configure --enable-cli.

— You are receiving this because you were mentioned. Reply to this email directly, [2]view it on GitHub, or [3]mute the thread.

Reverse link: [4]unknown

References

Visible links

  1. http://liblo.sourceforge.net/
  2. https://github.com/ahlstromcj/sequencer64/issues/64#issuecomment-371678422
  3. https://github.com/notifications/unsubscribe-auth/AHnVqGdtMWDLyRnAgSiQMSahbmkzij0pks5tcdTugaJpZM4MNHl-
  4. https://github.com/ahlstromcj/sequencer64/issues/64#issuecomment-371678422

-- I will honour Christmas in my heart, and try to keep it all the year. I will live in the Past, the Present, and the Future. The Spirits of all Three shall strive within me. I will not shut out the lessons that they teach. Oh, tell me that I may sponge away the writing on this stone! -- Charles Dickens

layk commented 6 years ago

Thanks tested and it compiles now.