Coder Social home page Coder Social logo

Using without GUI ? about moppy2 HOT 8 OPEN

vallai avatar vallai commented on July 20, 2024
Using without GUI ?

from moppy2.

Comments (8)

Sammy1Am avatar Sammy1Am commented on July 20, 2024

It's not currently possible out of the box, but technically there is no reason it cannot be done. The MoppyLib folder was intentionally separated from the GUI so that it could be easily embedded in other programs.

You'd have to write a Java program that accepted CLI commands and called the MoppyLib methods to execute though. I did a quick search on GitHub and came across this repo as well. It looks like they're trying to send serial commands directly from bash to the microcontroller, which will definitely work, but would require reproducing the functionality of the MoppyLib java code in Bash.

You could also take a look at @DJthefirst 's repo here. Though I'm not sure if it has a CLI yet either. It's a new implementation inspired by Moppy, but I believe has a web UI so you could access it from e.g. a cell phone or something if it was hosted on the Raspberry Pi.

from moppy2.

DJthefirst avatar DJthefirst commented on July 20, 2024

With my software you can use hairless Midi to just convert midi into a serial connection. I assume it's probably callable from CMD. Mine is also currently ESP32 as it's written in C++17 and some features are not back compatible with Arduino's C++11. I hopefully will get around to changing this before release this summer when finals end in the next few weeks. Another cool feature I am still working on implementing, that could be relevant is because my config commands use sysEx Midi you could theoretically make config files that are just midis you play like any other song.

from moppy2.

vallai avatar vallai commented on July 20, 2024

Thanks guys for your answers.

I had already taken a look at MoppyLib, but I think I don't have enough skills to implement a CLI interface easily.

The Mechanical-Midi-Music repo seems better suited to my project, I think I'll go with it. I hadn't planned on using solenoids but it could be a cool feature.

In the meantime, I also came across the project https://github.com/wendlers/Moppy which could be a good alternative. It's a fork of the first version of Moppy that lets you control floppies directly from a Raspberry Pi.

from moppy2.

DJthefirst avatar DJthefirst commented on July 20, 2024

Oh did you want to use the GPIO off the pie to play your instruments or just as a server? I can work on porting it which should be pretty quick as only the network, GPIO and and interrupt need to change but it will be a few weeks until after my finals are over. Again at the moment my software is ESP32 only. For now...

I can also try making a quick CLI interpreter server-side but you basically just convert midi to serial. You can preprogram the Distributors from the web GUI that are device side. Distributors are equivalent to MoppyDrive mappers which are server side on Sammy's project.

from moppy2.

vallai avatar vallai commented on July 20, 2024

I don't particularly want to use the Raspberry Pi's GPIOs. My goal is to be able to play music on hardwares, without having to plug it into a computer. Everything should be manageable via a screen and buttons for selecting music, like a jukebox.

A friend gave me an ESP32, and I'm going to try using it on your project, where the server will be running on the Raspberry Pi. If it works, I'll try to start the songs programmatically on the Raspberry Pi via a headless browser like PhantomJS.

from moppy2.

DJthefirst avatar DJthefirst commented on July 20, 2024

Ok sounds good I'll still work on a CLI interface in the next two weeks that should solve all your problems but one thing to note is the GUI only works on chromium desktop browsers ex: Chrome, Edge, Opera. I haven't tested the pi but IOs Android and Lite versions of these browsers do not support Web Serial which I use to talk to the ESP32. The GUI is only used for config which once set is stored on the esp32 so after it is configured you should be able to use hairless Midi on the PI. You can also choose to manually program the distributors config in main which I can help you with if you're interested. Let me know how I can help as the project is still in dev the before release this summer.

from moppy2.

DJthefirst avatar DJthefirst commented on July 20, 2024

Quick update to this thread the CLI is mostly done I only spent the last 2 days on it in my free time so it is hideously hacked together as I learn the .NET framework but it is confirmed working on Raspberry PI 3 model B. Because it is C# .NET it should also work Win/Linux/Mac/Andriod/(Maybe IOS but I doubt they support serial access). The next 2 days are graduation but after that, I should be able to finish it up in the next week. I will be functional but only a 0.5 version as I will rewrite it with proper software engineering as the core for my Desktop GUI. But I figured it would be good to get something functional out for now. Will also be providing room for suggestions and better documentation when I get it more usable next week.

Also If I didn't already mention it multiple times I am porting my entire project to C# .NET where I can have the same code shared across my WEB, Desktop, and CLI GUIs.

442413296_7388366237940465_6900159072693877088_n.mp4

from moppy2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.