theoriginalbit / MoarPeripherals

A Minecraft mod that adds more peripherals into the ComputerCraft mod
Apache License 2.0
7 stars 3 forks source link

The Note Program should be able to be used on Turtles #39

Closed Selim042 closed 8 years ago

Selim042 commented 9 years ago

I would LOVE a mobile jukebox to follow me around.

theoriginalbit commented 9 years ago

I had brought this up with @BombBloke at one point, but I'm not sure of the reply

BombBloke commented 9 years ago

How's a turtle going to follow you around? Even if you write the necessary code to handle the pathfinding (no small task), turtles are slow and can't fit through gaps that player characters can.

Turtles also have tiny displays. Can't say I'm enthusiastic about writing a new interface for them.

That said, Note does already work on turtles - as an API, all documented within the script file itself. It's trivial to simply get music playing:

os.loadAPI("moarp/note")

local myMusic = fs.find("*.nbs")

while true do
  for i = 1, #myMusic do
    print("Now playing: " .. myMusic[i])
    note.playSong(myMusic[i])
  end
end

If someone wants a fancier interface for turtles, I'd rather they use that API to write one!

theoriginalbit commented 9 years ago

Turtles also have tiny displays. Can't say I'm enthusiastic about writing a new interface for them.

Have you tested to see how well it scales?

Selim042 commented 9 years ago

@BombBloke commented on Jun 5, 2015, 5:38 AM CDT:

How's a turtle going to follow you around? Even if you write the necessary code to handle the pathfinding (no small task), turtles are slow and can't fit through gaps that player characters can.

And, I have written code to follow players around in the past, along with that just being an example.

BombBloke commented 9 years ago

Have you tested to see how well it scales?

The interface scales from a minimum 50x7 display up to pretty much anything. Turtles are 39x13.

theoriginalbit commented 9 years ago

The interface scales from a minimum 50x7 display

What is restricting it to 50?

BombBloke commented 9 years ago

Line 411, technically, where it errors out if the display isn't wide enough.

But below that's where display elements from the top toolbar start being pushed off the screen, see. There's the logo, the skip back/play/skip forward buttons (centered), the three different auto-play modes and then the quit button. To fit them in I'd need to define a new toolbar layout, remapping all the "clickable" areas and so on. Fun fun.

Which I guess I'll end up doing. Probably tomorrow.

theoriginalbit commented 9 years ago

Ah I see, perhaps you could define them as buttons so they can easily be repositioned.

Also if it's only the toolbar that is restricting Note running on Turtles, perhaps we could detect it's a Turtle and use a toolbar that has less ASCII art, it could literally just say Note and have the play as |>, pause as ||, and stop as []. Less height, less width, might be more likely to fit.

BombBloke commented 9 years ago

I'll indeed be doing just that. If it were only a matter of moving the elements around, I wouldn't've put in such a restriction in the first place. :P

The reason I didn't build a smaller interface to begin with was because I was convinced no one will use it on turtles. And I still am - but what the heck, I'll make it support "bluetooth speakers" and have it run on pocket computers. That could be somewhat useful.