Jump to content
IGNORED

TIPI enabled software listing


Recommended Posts

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@

Link to comment
Share on other sites

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 by wierd_w
Link to comment
Share on other sites

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 by wierd_w
Link to comment
Share on other sites

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 thread

Sent from my LM-G820 using Tapatalk

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 2 months later...

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?

 

 

Link to comment
Share on other sites

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 by jrhodes
  • Like 1
Link to comment
Share on other sites

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. :P

  • Like 1
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
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)

Link to comment
Share on other sites

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 

 

Link to comment
Share on other sites

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.

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

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

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
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

  • Like 2
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...