+jedimatt42 Posted October 7, 2019 Share Posted October 7, 2019 11 hours ago, wierd_w said: You just write midi messages to the midi device in the device tree like a file. You can send such messages with echo. Since you give telnet/console already, it should be doable right now. well, yes, you can configure fluidsynth to take textual representations of commands from a socket. So then you could just use the TCP feature of TIPI to control it... but song representation this way would eat up resources on something like a 4A quickly... good enough for proof of concept, but "noteon 1 66 100\r" form commands are expensive... 18 bytes instead of 4 if it were MIDI format. fluidsynth talks about ports a lot, but they seem like midi-ports, not TCP ports... so I don't know how you get MIDI format data directly to it. But, I'll leave that as an experiment for you all. Surely there is some way with Jack or ALSA tools to do so. -M@ Quote Link to comment Share on other sites More sharing options...
wierd_w Posted October 7, 2019 Share Posted October 7, 2019 (edited) Silly man, the Pi has all kinds of things you can use to alleviate this. Take for instance-- "mkdir /tmp/midicache && mount -t tmpfs /tmp/midicache" "echo "(long screed of midi messages that comprise a song)" > /tmp/midicache/somesong.dat" "echo "(player handler shell script that monitors for input over TCP/UDP to control midi playback here)" /tmp/midicache/handler.sh && chmod +x /tmp/midicache/midihandler.sh" "daemonize /tmp/midicache/midihandler.sh" Then you just send whatever bytecode messages over your listen port you want, to syntactically say "Play song 1 from 00:00 to 01:00 now, then loop from 01:00 to 02:50" The pi just does it when you send that small command message. It stores data in the pi's memory (tmpfs mount), in a non-persistent fashion, in order to "write once, play many times". For the innards or "midihandler.sh", so that it can listen for messages over a TCP port, there are a great many implementations out there. Stack exchange has you covered in most of them. https://unix.stackexchange.com/questions/314550/how-to-set-a-script-to-execute-when-a-port-receives-a-message Writing data to the appropriate midi device in the device tree from a specific file is trivial-- One could use dd, for instance, since it allows you to specify an amount of the source file to skip, AND a rate at which to write. eg, dd if=/mnt/midicache/somesong.dat of=/dev/somemidi0 skip=[some number of blocks to skip on the input before writing] count=[some number of blocks to write] bs=[number of bytes to read/write per block] wrapped up in an appropriately variable-ized for loop, that takes data from the tcp listening port, and populates the appropriate areas. Writing to the midi device this way is fully kosher. https://ccrma.stanford.edu/~craig/articles/linuxmidi/output/section1.html Fluidsynth and pals create a midi device that operates the same way as an external synthesizer, which means you can write messages to it this way. The midiport is the number at the end of the device file's filename. That is how you send it an arbitrary midi command. If you want to send an arbitrary midi command instead of caching them all and then using simple instructions to control playback, then you just use "midihandler.sh" to wrap the exchanged message, and echo it to the appropriate device, like I initially suggested. Edited October 7, 2019 by wierd_w Quote Link to comment Share on other sites More sharing options...
wierd_w Posted October 7, 2019 Share Posted October 7, 2019 (edited) Alternatively, if you dont want to use OSS (which that write method implies), you can use an alsa utility instead. https://www.systutorials.com/docs/linux/man/1-amidi/ As you see, it does raw bytecode messages, to a specified midi port. (Eg, "fluidsynth:0" etc.) You would just variableize it appropriately with your shell listening daemon, so that you can send it bytecode over a tcp port instead. In addition to fluidsynth, there is also timidity++, and munt. Since you seem to like MT32 as an instrument, you might be especially interested in munt, however there are niggly license issues there. (Needs roland's rom files from the MT32 to do its thing.) Edited October 7, 2019 by wierd_w Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted October 7, 2019 Author Share Posted October 7, 2019 Alternatively, if you dont want to use OSS (which that write method implies), you can use an alsa utility instead. https://www.systutorials.com/docs/linux/man/1-amidi/ As you see, it does raw bytecode messages, to a specified midi port. (Eg, "fluidsynth:0" etc.) You would just variableize it appropriately with your shell listening daemon, so that you can send it bytecode over a tcp port instead. In addition to fluidsynth, there is also timidity++, and munt. Since you seem to like MT32 as an instrument, you might be especially interested in munt, however there are niggly license issues there. (Needs roland's rom files from the MT32 to do its thing.)This sounds like a Dev threadSent from my LM-G820 using Tapatalk Quote Link to comment Share on other sites More sharing options...
wierd_w Posted October 7, 2019 Share Posted October 7, 2019 JediMatt kinda IS the developer of the TiPI... This is a pretty simple thing to get the Pi in a TiPI to do... You just need the appropriate pokes in the Pi's config.txt (he does maintain the tipi's firmware for the pi), and the right circuitry dangled off the right gpios on the pi. Like I initially pointed out-- once the pi is wired up to the speaker leads on the sidecar bus, the existing TiPI command set is sufficient to send the messages to the pi. All the pi needs is the right set of already existing linux utils, and a generic wrapper script. I was just curious if anyone had already done this or not. Apparently not. Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted October 7, 2019 Author Share Posted October 7, 2019 JediMatt kinda IS the developer of the TiPI... This is a pretty simple thing to get the Pi in a TiPI to do... You just need the appropriate pokes in the Pi's config.txt (he does maintain the tipi's firmware for the pi), and the right circuitry dangled off the right gpios on the pi. Like I initially pointed out-- once the pi is wired up to the speaker leads on the sidecar bus, the existing TiPI command set is sufficient to send the messages to the pi. All the pi needs is the right set of already existing linux utils, and a generic wrapper script. I was just curious if anyone had already done this or not. Apparently not.Yes my point is that this is the TIPI software listing thread.. you should post this info in the TIPI Dev thread and go ahead and develop this. The platform is ripe for new Dev. Go for it.. I look forward to the announcement here in the software thread when it exists.Sent from my LM-G820 using Tapatalk Quote Link to comment Share on other sites More sharing options...
pcoderdude14 Posted December 14, 2019 Share Posted December 14, 2019 Hey All! ...and Matt ? I don't know if I'm in the right thread , of, even if this is "off-topic" but there is a statement in arcadeshopper's website that says there is a way to use your TI to shutdown the Rasberry PI connected to it---: "There is no power switch on a Raspberry PI. You should consider leaving the Raspberry PI always on. If you do need to turn it off, there is a shutdown feature in the web admin interface provided by TIPI". Is this a command, or, a line-of-code or something to turn off the PI ? Is so, could you post it here? Quote Link to comment Share on other sites More sharing options...
globeron Posted December 14, 2019 Share Posted December 14, 2019 In TI Basic CALL TIPI Then H Halt 3 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted December 14, 2019 Share Posted December 14, 2019 (edited) Also, in TI Basic, TI Extended Basic, and RXB, you can try the following program: 10 OPEN #1:"PI.SHUTDOWN",OUTPUT ,DISPLAY 20 CLOSE #1 30 PRINT "PI SHUTTING DOWN. WAIT FOR LIGHTS TO STOP BEFORE UNPLUGGING" Save that to a file, such as with the command: SAVE DSK1.POWEROFF Run this to shutdown your Pi: OLD DSK1.POWEROFF RUN Edited December 14, 2019 by jrhodes 1 Quote Link to comment Share on other sites More sharing options...
pcoderdude14 Posted December 15, 2019 Share Posted December 15, 2019 Hey All, again! ? Got it. Tried the "HALT" command...worked great! Thanks ? I will try the program too, and, see if that works...thanks again for the support All! ? Jt Quote Link to comment Share on other sites More sharing options...
wierd_w Posted December 15, 2019 Share Posted December 15, 2019 Got my tipi in, but found that the only supply I have that provides enough oomph to start the pi properly is my powered usb hub, and it's not going in the room with the TI in it. I ordered a suitable supply from amazon, now waiting for the supply. Wait wait wait. I seem to be doing that a lot lately. 1 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 15, 2019 Share Posted December 15, 2019 14 hours ago, wierd_w said: Wait wait wait. I seem to be doing that a lot lately. Oh, I can sooooooo relate! Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 15, 2019 Share Posted December 15, 2019 On 12/14/2019 at 3:04 AM, jrhodes said: Also, in TI Basic, TI Extended Basic, and RXB, you can try the following program: 10 OPEN #1:"PI.SHUTDOWN",OUTPUT ,DISPLAY 20 CLOSE #1 30 PRINT "PI SHUTTING DOWN. WAIT FOR LIGHTS TO STOP BEFORE UNPLUGGING" Save that to a file, such as with the command: SAVE DSK1.POWEROFF Run this to shutdown your Pi: OLD DSK1.POWEROFF RUN Hey Matt, could you add a TIPI shutdown command directly into the next version of Force Command? Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 17, 2020 Author Share Posted January 17, 2020 latest tipi software: 3 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted January 24, 2020 Author Share Posted January 24, 2020 Someone send me a chatti message? Greg Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted January 25, 2020 Share Posted January 25, 2020 Sent. 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 7, 2020 Share Posted March 7, 2020 On 5/23/2018 at 5:01 PM, --- Ω --- said: It's a fantastic program, but more people need to load it up more often. (Hint Hint) I am just now trying to use the program. I see no place on the website to get setup for a userid/pwd. Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted March 8, 2020 Author Share Posted March 8, 2020 On 3/7/2020 at 10:32 AM, BeeryMiller said: I am just now trying to use the program. I see no place on the website to get setup for a userid/pwd. first paragraph on the site: Looking to register a new account? Fire up your TIPI-enabled TI, install Stuart's web browser, and go to www.myti99.com (If you're seeing this page, you're using a modern computer and browser. The entire site renders differently on the TI) Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted March 8, 2020 Author Share Posted March 8, 2020 Browser for TIPI: disk image toss this in the TIPI drive and it'll make a folder called BROWSER map DSK1 to that and load http://www.stuartconner.me.uk/ti/disk_images/TIPI Browser Disk v9_3.zip more info here: http://www.stuartconner.me.uk/ti/ti.htm#internet_web_browser 1 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted March 13, 2020 Author Share Posted March 13, 2020 On 3/7/2020 at 10:32 AM, BeeryMiller said: I am just now trying to use the program. I see no place on the website to get setup for a userid/pwd. Did you get this figured out? @BeeryMiller Greg Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 13, 2020 Share Posted March 13, 2020 2 hours ago, arcadeshopper said: Did you get this figured out? @BeeryMiller Greg Yes, I got an account setup. Nobody was in Chatti at the time. I also looked briefly at Chess. Not quite sure how a game was supposed to start as what I trying to do did not work. Beery Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted March 13, 2020 Author Share Posted March 13, 2020 26 minutes ago, BeeryMiller said: Yes, I got an account setup. Nobody was in Chatti at the time. I also looked briefly at Chess. Not quite sure how a game was supposed to start as what I trying to do did not work. Beery pretty much nobody sits on chatti, feel free to send me a message tho.. chess you start a game and someone joins, or you go to open games and join one.. if you want to play I'll start/join Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 13, 2020 Share Posted March 13, 2020 3 minutes ago, arcadeshopper said: pretty much nobody sits on chatti, feel free to send me a message tho.. chess you start a game and someone joins, or you go to open games and join one.. if you want to play I'll start/join I may shoot you a note this weekend. Need to see if I can play from Rompage/GPL mode on the Geneve. 2 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted April 1, 2020 Author Share Posted April 1, 2020 Horray!! Corey @ElectricLab has fixed the two bugs in chatti that were making me frustrated with it.. Recent users now shows the MOST recent conversations! Search now shows all the new users signing in with the web browser (sometime around that change it stopped showing) a bunch of you have new messages write me back on chatti! Greg 1 Quote Link to comment Share on other sites More sharing options...
Airshack Posted April 10, 2020 Share Posted April 10, 2020 On 3/8/2020 at 1:06 PM, arcadeshopper said: Browser for TIPI: disk image toss this in the TIPI drive and it'll make a folder called BROWSER map DSK1 to that and load http://www.stuartconner.me.uk/ti/disk_images/TIPI Browser Disk v9_3.zip more info here: http://www.stuartconner.me.uk/ti/ti.htm#internet_web_browser Details for Dummies: Load with Editor Assembler, Option3, File name? DSK1.INTERNET 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.