Discussion:
[Pykaraoke-discuss] DJ Player
John Schneiderman
16 years ago
Permalink
I've been getting a lot of feedback about wanting to have an integrated
search list for the ability to play music through PyKaraoke. With the ability
already present to call MPlayer, this should be an easy task. What does
everyone else think?

John S.
John Schneiderman
16 years ago
Permalink
...
Iann,

Do let me know. It sounds interesting. I'm not sure if it's what the users
had in mind when they were talking with me, but I certainly see a great
possibility with it.

John S.
Iann Gorrill
16 years ago
Permalink
Post by John Schneiderman
I've been getting a lot of feedback about wanting to have an integrated
search list for the ability to play music through PyKaraoke. With the ability
already present to call MPlayer, this should be an easy task. What does
everyone else think?
John S.
Hi John,

I'm not sure if this is along the same lines or not, but I've been
developing a manager of sorts around PyKaraoke over the last month or
so. Basically the idea works like this:

Media pc - Hooked up to tv with speakers and mic. It has a daemon
process running that interfaces with a database, polling for songs to
play, processing player requests (pause, stop, etc..), putting song
notifications up between songs, etc.. This machine (although it doesn't
have to) also serves http pages that are where the management of the
queue happens as the songs are added and manipulated through these
pages. I've written an importer that will take songs from a directory,
import there path into the database, and if possible will extract the
artist and song name if it's named something simple like "artist - song.cdg"

Controller pc/laptop - Through a web browser, you can search, add by
song id (if you want to print everything out into books, people can just
make songs requests by the song id in the database), song browser, song
editing (for titles and artists that aren't quite right), queue
manipulation (play this song next, play it NOW), play, pause, stop.

I have a party next weekend that this is for, and once I'm through that,
I'll probably make a very alpha release of it if anyone is interested.
--
Iann Gorrill
Network Analyst
Loose Foot Computing (LFC Hosting)
http://www.lfchosting.com/
1-866-LFC-HOST (532-4678)

Earn Free Hosting by recommending others to LFC:
http://www.lfchosting.com/affiliate.shtml
Recommend LFC to a Friend: https://cp.lfchosting.com/Recommend
John Schneiderman
16 years ago
Permalink
...
Jay,

Actually that is certainly I would be interested in. I'm actually looking at
designing it so that it's a single unified interface. It's quite cumbersome
to have to switch between multiple windows when running shows. The players
will be separate, but the search stuff will be integrated into it's own area
in the player.

What are you ideas for singer and rotation management? I have added a basic
prompt for adding the singer.

John S.
Jay R. Ashworth
16 years ago
Permalink
Post by John Schneiderman
Actually that is certainly I would be interested in. I'm actually
looking at designing it so that it's a single unified interface. It's quite
cumbersome to have to switch between multiple windows when running shows. The
players will be separate, but the search stuff will be integrated into it's
own areain the player.
What are you ideas for singer and rotation management? I have added a
basic prompt for adding the singer.
At last!

A coder, who wants to hear my design ideas!

(Those are hard to come by... :-)

I don't have a mockup on anything but paper, but I'll try to describe what I
had in mind, and maybe I can find a UI mockup builder somewhere.


Sit down, get caffeine, and don't think I'm placing an order, here. :-)

(and, on re-reading this, yes, I do actually eventually answer your question about
rotation management, at least in part...)

===

Divide your screen into 3 vertical stripes.

Karaoke goes on the left, music in the middle, 'sound buttons' on the right
(look at Rivendell's Sound Panel for an idea of what I mean).

Each panel has a "player window" at the bottom; sort of a stripped down
XMMS window. Each player shows the track name, total time, time remaining,
and a play/pause icon -- or the background color changes from pastel green
to pastel red, or something to show what's running.

Each player has a Play button, a Pause button, a Cue button (rewind to start) and
an Eject button. Each button is separate so you don't have to worry about debouncing
a touchscreen (though I personally would probably go buy one of these:

http://www.piengineering.com/xkeys/xkstick.php

and put real labels in the keys; I like hard buttons.

For each player, you have the playlist (upcoming stuff) and some spill (ejected stuff,
which you might need to "uneject" -- uneject can be a softkey; preferably a popup menu
that says "add as next", "add at end".

For the music player, that's pretty much it, except that you need a way to add things to
the play list; just a popup search window with (preferably incremental) search -- and my
favorite approach is "sort all the things that *start* with the string first, then all the
other things which *contain* it, like my BlackBerry does with its phonebook.

On the karaoke side, though, you need a bit more control.

I'm a "strict rotation" guy: the order you first sing in is the order you sing in all night;
new singers go at the end. Some people modify it slightly for new singers; a common one is
"after the first rotation, alternate old and new singers 1:1, 2:1 or 3:1".

But you need "new singer", and you need "add song for this singer"... and I'd really like
to have it keep track of each singer's requested songs, and provide an easy popup way to let the
KJ handle "Oh, could I sing that second song first?" requests, as well as snapshot add-ons.
(I come from a service employee background, and have little tolerance for uncooperative KJs. :-)

Generally, though, the Karaoke play list should look like

Drew - Put Your Head on my... (SC8463)
JR - Somewhere in the Night (KH27)
Billy - We Just Disagree (AH2008)

And provide a soft key to pop up the singer-list management stuff if necessary.

(I'm a ringer; I really care what label the track came off of, so I preserve that
all the way through the system.)

(I'm also looking at smart song-request terminals, probably using Fujitsu Point
1600 touchscreen pads and wifi, so external access to the singer management stuff
is important to me -- using a DBMS for that instead of flat files is a plus).

===

Still breathing? :-)

As you may imagine, I'm seriously considering trying to take it out on the road and
make some money with it, so stability and ease of use in that environment is important
to me as well.

Things like "use windows, not dialog boxes, for management functions, so you don't lock
up the realtime interface *ever*", and that sort of stuff...

Cheers,
-- jra

Cheers,
- jra
--
Jay R. Ashworth Baylink ***@baylink.com
Designer The Things I Think RFC 2100
Ashworth & Associates http://baylink.pitas.com '87 e24
St Petersburg FL USA http://photo.imageinc.us +1 727 647 1274

Those who cast the vote decide nothing.
Those who count the vote decide everything.
-- (Josef Stalin)
Loading...