Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Starting coding on Touchscreen jukebox. *release date?? & Art!!*  (Read 45532 times)

0 Members and 1 Guest are viewing this topic.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
I've decided to change my focus a bit on my touchtunes clone/touchscreen jukebox.

I'm scrapping the requirements and design documents, and starting from scratch again.  I need ideas.  And if i'm able to implement this well enough, I will definitely release public versions:

Here's the basic idea:

I haven't seen what I consider to be a great implementation of a touchscreen jukebox. 
Here are my issues with the current touchscreen jukeboxes I've seen out there so far:

Disclaimer: These are my opinions, after looking at a decent amount of software out there. Please don't take offense, or respond with "But jukebox software x does this", etc.


  • Mostly written in VB6 using windows controls.
  • "fullscreen" mode is usually a maximized windows form with no control box/titlebar.
  • Many do not utilize a database, making searching/sorting very slow
  • Many use basic vb6 list loading procedures (listitems.add), which is very slow for large lists
  • Little to no animation (since animating windows controls is not really fun/pretty)
  • Not "commercial" looking
This lends itself to software that is "good enough for now"... until something better comes along.  I want to write that something better.

Here's my basic requirements for this software:

REAL fullscreen jukebox (Using DirectX or GDI).
No windows controls (except maybe for a separate configuraiton program, if that's the way I decide to go).
NO NEED FOR KEYBOARD.
Easy to use, clean, clear interface.
Search by artist, title, song, etc.
Display album art.
Screen saver.


What I'd like from people, if they wouldn't mind participating, is a list of features they'd like to see in a touchscreen jukebox.  Please feel free to submit things that are already in existing programs that you really like, and new features you haven't seen.

I'm trying to brainstorm here, submit ANYTHING, no matter how crazy or impossible you may think it is.. There are no bad ideas here..

Thanks again to anyone who would like to participate.  :)

--NipsMG


« Last Edit: April 19, 2006, 08:42:53 am by nipsmg »

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Quote
Many do not utilize a database, making searching/sorting very slow
What are you thinking of using?
MSDE?  Jet/Access?

Planning on making it like a game then?  All event based with a program loop?  IE if Stepmania was turned into a jukebox program (because essentially it is).

I like TouchTunes except it doesn't show the song queue.
I would implement a song queue where the computer randomly keeps 5 songs in the queue but the user song's take priority.  That way something is always playing.  IE a party mode with a request line.  Should be easy, have two queues, one user, one computer.  If user is empty then use computer's.  But display on screen the order in which they are going to be played.

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
It's like playing Street Fighter....

Here Comes A New Challenger!  ;)

Good Luck and Have fun.

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Disclaimer: These are my opinions, after looking at a decent amount of software out there. Please don't take offense, or respond with "But jukebox software x does this", etc.
If your reason for writing this is that existing jukeboxes don't do this, why do you then not want to know if your assumptions are untrue (which they mostly are)?

--Chris

--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

damono

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 22
  • Last login:December 27, 2005, 09:46:39 am
  • I want to build my own arcade controls!
Personally i'd like it to be a video jukebox too. And a very nice looking interface

mflint

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 56
  • Last login:March 01, 2014, 08:47:03 am
  • Shocking
I think this a noble idea! The pcjukebox touch screen is about the best i have used to date. If you are going to do this it would be nice if you did it with out the program windows at all. It would be nice if it was written so you did not need any other program running in the background( Including DOS) because most people can't get video and sound working on that old stuff... Separate controls or options for volume control on screen or a differnet type of controller. And also something appealling to the eye would be a bonus. Thanks for letting me vent.

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
I think this a noble idea! The pcjukebox touch screen is about the best i have used to date. If you are going to do this it would be nice if you did it with out the program windows at all. It would be nice if it was written so you did not need any other program running in the background( Including DOS) because most people can't get video and sound working on that old stuff... Separate controls or options for volume control on screen or a differnet type of controller. And also something appealling to the eye would be a bonus. Thanks for letting me vent.

No Windows or DOS.. That could not be done without coding an operating system that basically booted straight into a jukebox. If anyone did that i would take my hat off to em, personally i think if anyone could do that they wouldn't be wasting time coding a jukebox app. You could probably do something using a very cut down linx boot but even so it's a bit overkill and if you think people are having trouble getting sound and video working in dos then that would be a nightmare. Also the codecs for video and music would have to written like i said you would be basically coding an entire Operating System...  :o

mflint

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 56
  • Last login:March 01, 2014, 08:47:03 am
  • Shocking
Nobody said it would be easy there Barcrest. Don't get so
upset. He asked for IDEAS, not demands. If a person had the knowledge they should apply it. As you can see there are people out there that can right a working program to  run a computer.
Gates did it so can other people.

mflint

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 56
  • Last login:March 01, 2014, 08:47:03 am
  • Shocking
Sorry about that the correct spelling for the word is write.

mflint

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 56
  • Last login:March 01, 2014, 08:47:03 am
  • Shocking
It can be done:
Mark's Sysinternals Blog
Sunday, July 24, 2005
Running Windows with No Services
A Windows service provides functionality to the operating system and user accounts regardless of whether anyone is logged into a system. Windows XP comes with around four dozen services enabled by default, including ones that many people consider superfluous like Remote Registry, Alerter, and SSDP Discovery (Universal Plug and Play). A question many Windows administrators commonly have is therefore, which services can I safely disable? What if I told you that for at least basic functionality like Web surfing and application execution, Windows doesn

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Things I wished I added in my Jukebox but am now too lazy to add ...

1) In my software as well as many others you can jump to a section of album names or artist names by selectiing A->Z or 0-9.   Basically, if you enter "M" then you jump to all the albums or artists starting with the letter "M".  Problem is, since I have about 100 "M" albums and artists, then page flipping through the "M" selections still takes a bit of time.   To cut this time down significantly, it would be nice to be able to enter two letters (or more) to allow jumping to the "MA", "ME", "MR", etc... sections.  Does this make sense?   Hope I explained this well enough .....

2) Make it support videos as well.......

3) Allow for dual monitor support, this way the video can be playing in one monitor and the selection screen, with the song  queue, credits, etc.... will be displayed on the other monitor.   Or if you are simply playing a MP3 file (ie: not a video), then the lyrics can be displayed on the extra monitor.

4) I always thought scrolling lyrics would be nice.  Seems like based on the length of the song, how many lines are in the lyric file and how big the lyric display window is, then one could determine when to scroll the lyrics up line by line so the current line of the song can be visible at all times.   Of course this assumes the lyrics are proportionally distributed throughout the song .... which most songs have.   This could be done without making the owner of the software edit the lyric file with time partitions or any kind

5) Being skinnable is always nice .....

6) Allow some of the features to be "locked" so party guests can not come in and change my settings or be able to add/delete/clear the soing queue, etc....

This is probably as good start on neat stuff to add ........

Good luck



« Last Edit: July 31, 2005, 08:23:37 pm by unclet »

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #11 on: August 01, 2005, 07:22:45 am »
Disclaimer: These are my opinions, after looking at a decent amount of software out there. Please don't take offense, or respond with "But jukebox software x does this", etc.
If your reason for writing this is that existing jukeboxes don't do this, why do you then not want to know if your assumptions are untrue (which they mostly are)?

--Chris



What I meant, mostly was "I know it's VB but it doesn't LOOK VB to most people....", those kind of comments.  Like I said before, its my opinion based on my experience with about 5 or 6 jukebox applications. MANY (not all, which I've stated) of the fullscreen jukebox apps are vb6 apps, with a maximized form sans titlebar using graphical windows controls.  If my assumptions are really "mostly incorrect", please point me in the direction of a jukebox app with the features I'm looking for.  I'd seriously really appreciate it.

--NIpsMG

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #12 on: August 01, 2005, 07:36:09 am »
Quote
Many do not utilize a database, making searching/sorting very slow
What are you thinking of using?
MSDE?  Jet/Access?

Planning on making it like a game then?  All event based with a program loop?  IE if Stepmania was turned into a jukebox program (because essentially it is).

I like TouchTunes except it doesn't show the song queue.
I would implement a song queue where the computer randomly keeps 5 songs in the queue but the user song's take priority.  That way something is always playing.  IE a party mode with a request line.  Should be easy, have two queues, one user, one computer.  If user is empty then use computer's.  But display on screen the order in which they are going to be played.

SP:

As for the database, I'm not sure.
I hate hate hate Jet/Access w/ a passion, but it's portable and *could* do what I want.  I was leaning more towards MDSE.

Essentially, yeah, the program will have to have a "game loop". 

Thanks for the queue list suggestion.  I had planned on that in some form or another.  At the very least with an "Up next........." type of display.

Also, I already planned for the random computer queue.  Kind of like the "shuffle" feature on an ipod.  Hit "play" and the computer will randomly play songs (however, I'd like to prioritize songs based on number of plays/rating, much like the Ipod does.  I find that very useful.) 

Here's so far some of the specific features I'm thinking of:

  • Shuffle feature (prioritized by number of plays/ratings)
  • Song Ratings
  • Video Display by song (if video exists on system)
  • Favorites list. (stored by user. Accessible by pincode (maybe))
  • Automatic album art retrieval
  • Display list by genre/artist/album
  • Built in web-server (for remote control via WIFI PDA or desktop) **later revision**
  • Skinnable
  • "Lockable" administrative functions (probably by pin code) (thanks unclet)

This is the short list for now.

One program that does a lot of this (and the source of the idea for the built in web server control) is XBMC (for xbox)... which I belive has exists for PC as a HTPC application with some of these features, but I'm doing this for 2 reasons.  I want to tailor this to my liking.  And I also need the practice w/ C#. (I mostly code in VB.NET, I'm switching to C#, starting w/ this application).


Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #13 on: August 01, 2005, 08:09:53 am »
Disclaimer: These are my opinions, after looking at a decent amount of software out there. Please don't take offense, or respond with "But jukebox software x does this", etc.
If your reason for writing this is that existing jukeboxes don't do this, why do you then not want to know if your assumptions are untrue (which they mostly are)?

--Chris



What I meant, mostly was "I know it's VB but it doesn't LOOK VB to most people....", those kind of comments.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #14 on: August 01, 2005, 08:46:43 am »
One more suggestion:

How about shuffle/random play within a certain genre only ..... in case my wife would like to here Country songs only

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #15 on: August 01, 2005, 10:44:32 am »
Quote
Many do not utilize a database, making searching/sorting very slow

This is also not true. Both my application and the pc jukebox use databases. Searching using my app on my P700 is alsmost instant with 16000+ songs. Searching is even faster in the pc jukebox.
He siad many, does two count as many?  I'm not sure about the others but his point was made that he wants to use a database instead of a flat file :)

Quote
Quote
Many use basic vb6 list loading procedures (listitems.add), which is very slow for large lists

list.additem is not slow, like i said before my searches are almost instant on an old P700 with 256mb ram. I still don't image in it to be much slower on P500 and once you are getting down that end most things will not work to well.
Actually, using the list control to store and use data is painfully slow.  Much faster to store in something like an ArrayList (form .NET) or other redimensional array.  Then update however the list is going to be displayed using the array.  Especially when sorting is involved.

I know what doesn't exist which would be REALLY cool, a jukebox software completely written in SDL so it could be cross platform :)

Actually, thinking about the animation statement, that is not true.  There is animation in real jukeboxes, it is just done so well you don't realize it.  There isn't much for animation when just idling, but when moving around and selecting stuff there's alot of little animations which are used to que you on your actions.
A good example is stepmania.  Not sure if you have ever used it, but you can think of it as a jukebox program, but when you play a song steps go across the screen :)
When you select stuff there's a bunch of animations, just look at the skin files.  You don't notice it because they are meant to give feedback on the action you just took so you are expecting something to happen.  For example, I remember a spot where you arrow down in a menu and when the next item is selected it slightly expands then contracts.  It's the little things like that that make the software appear polished.

Kinda like a mouse rollover on a webpage, people may not realize it happened because they expected some type of feedback that their action took place.

But I agree with nipsmg's generalizations for the most part.  For free jukebox software many use standard windows controls without changing the look of the control.  Now with Visual Studio 6.0 it is tougher to do this than with .NET.  For example, not to pick on you unclet, but look at the screenshots for unclet's.  I love all the features but the look, since it uses alot of standard windows controls without changing the look of the control, looks like an old win 3.1 application that is in fullscreen mode.

My goal is to find something that looks like it was designed for an embedded OS.  Nipsmg knows this, he's been reading my ToughTunes thread :)  I'm in search for an antique radio.  The old wooden standup type.  I am going to embed a touch screen in it somehow, depending on the style of the radio I find.  Hopefully I find one like this one that was at a hotel, it had a turntable draw that pulled out.  I'd put the tough screen in that so nothing modern is on the outside.

And that's why when I saw TouchTunes I thought it was almost the perfect software.  The major thing it lacks is knowing what's next and how many songs are in the queue.

I've found pay software that is pretty good.  But I am more fond of supporting open source projects if I can find one.

The features I'd want in a jukebox.
Think TouchTunes...
Select Artist, then albumn screen comes up with cover art, select albumn, song list for that albumn (for mp3s that exists in that albumn) is available for selection.
Artist is selected by the right side "scroll" control.  Wither use up/down arrow, or drag form A, to B, to C like TouchTunes does.
Be able to display queue info, either a what's next always on screen someplace and/or a dedicated screen that shows the queue.
The double queue idea I post earlier for computer random.  This could be an option that can be turned on and off.
Does not look anyway like a windows app, menaing does not have standard windows componants displayed so that they look like standard windows componants.

Other possible features.  Automatically look for new songs upon load up.  I'd rather have that happen than use an admin tool to create records.  I know this can be done, stepmania does a really good job at it.

For free software I either find something that has the features I want but doesn't look "embedded" or it looks "embedded" but doesn't have the features :(

So, how would I describe the look I am going after?  This is wher eI think DirectX or SDL would be perfect.  Think stepmania or dragon king with touchscreen if that could ever happen.  Basically the software has to handle "buttons" or where the mouse can click.  I assume mouse as I assume touchscreen is a mouse event?  Unless you can skin a standard windows componant I would make the thing completely out of DirectX or SDL.  Like I mentioned before, progam it like a game.  Event driven, program loop goes through the event queue and does appropiate actions.
« Last Edit: August 01, 2005, 11:17:28 am by SirPoonga »

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #16 on: August 01, 2005, 11:00:42 am »
Sirpoonga hit the nail right on the head.  Thanks SP.

Barcrest: I was very careful to make sure to state that these were general opinions and obvservations about some of the software available out there today.  I took pains not to mention any specific applications.  I was not singling anyone out, and I was not at all trying to "rubbish" anyone's work.

However, I do feel a need to respond to some of your points.

Quote
Quote
Mostly written in VB6 using windows controls.

True a few are written in VB mine included but there is little use of windows controls. As far as i know the pc jukebox doesn't use any now.

I'm sorry, but you are incorrect on this point.  The controls are not STANDARD windows controls, they are CUSTOM windows controls, yet still windows controls.  They still respond to the same windows events, on a windows form.  The rounded graphical buttons you have on your app are actually some of the nicer ones I've seen, they don't LOOK like windows controls like some others do, but to a software developer, it's blatantly obvious that they are all windows controls.

This is not necessarily a bad thing for 99.9% of people.  I am however in the .1% of people who would like to change this.

Quote
Quote
"fullscreen" mode is usually a maximized windows form with no control box/titlebar.

You say this like it's a bad thing, if everything is hidden away from the user then there shouldn't a problem how you go about getting full screen.

Again, to me (my opinion) this could be a bad thing. This is not a true "fullscreen" mode.  This is merely a maximized form. Sure you can use a form and make it topmost, but it doesn't accomplish the same thing that a fullscreen application running in DX or GDI+ that actually use a real fullscreen mode and draw directly to it does.  For this reason, to a developer, it still "feels" and "acts" like a windows application.  I intend to try to get away from this.  Again, this is MY preference, I'm not putting down your work.

Quote
Quote
Many do not utilize a database, making searching/sorting very slow

This is also not true. Both my application and the pc jukebox use databases. Searching using my app on my P700 is alsmost instant with 16000+ songs. Searching is even faster in the pc jukebox.

SirPoonga already handled this response.
Quote
Quote
Many use basic vb6 list loading procedures (listitems.add), which is very slow for large lists

list.additem is not slow, like i said before my searches are almost instant on an old P700 with 256mb ram. I still don't image in it to be much slower on P500 and once you are getting down that end most things will not work to well.

list.additem is very very very slow for large quantaties.
There is tons of data to back this up, google it.
Quote
Quote
Little to no animation (since animating windows controls is not really fun/pretty)[li]Not "commercial" looking

Well there is very little if any animation in the comercial boxes here in the UK, the pc jukebox does have animation. I have not worked on getting animation in yet as my software is still ALPHA and that is low on the scale but i can assure you animation in visual basic is not as bad as you make out...

I know you didn't want the thred to go this way and i really hope you do make a go of your jukebox, i just don't think it's in good taste to rubbish other peoples work most of which you have not even downloaded and tried. The proof is in the pudding so to speak and the software that is out there already for people to download and use can be judged by all hjowever until you release something i like many others will not pass judgment on your work. Without trying something you cannot pass an opinion.
Quote

Again,  SirPoonga pretty well handled this too.  I'm talking about SUBTLE animation.  I'm talking about transitions between screens.  I'm talking about text fading in/out.  I'm talking about some of the emphasis that is put on text by duplicating the text layer, and pulsing it with a large alpha value. 

I'm not talking about spinning cubes and crazy 3d effects, I think some people do know exactly what I'm going for here.


Again, I'm going to stress this.  My comments were made IN GENERAL about much of the software available.  PLEASE DO NOT TAKE ANY OF THIS PERSONALLY.  I am not putting down anyone's work.  Both the MP3 Jukebox and the PC Jukebox are much more mature than my project, and have come a very long way, and do way more than mine does at the moment.  PLEASE go download them and try them.  When mine's done, try mine.  If you like someone else's better, please feel free to use it.

I'm in no way, shape, or form, a "guru" of all things jukebox.  I have my preferences.  I'm building a jukebox around my preferences, and asking for suggestions.  That is all.

--NipsMG

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #17 on: August 01, 2005, 11:23:23 am »
heh, you posted right after I editted.  Make sure you read my thread again :)

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #18 on: August 01, 2005, 11:38:14 am »
Fair enough, i just thought you were being a little short sighted with your observations however i do see where you are coming from. If either of you are interested i just posted up a new version of my software that has got transition effects when browsing the album covers. I can add this to transition between all screens should i wish, i really would like it if you guys could give me some feedback on it. To be honest it has got almost everything SirPoonga has asked for apart from the fact it sits on wondows and has got windows controls...

I didn't bother hiding them in the options screen because no user will see that, i really just need to tidy up the player buttons and the volume slider. As for the listbox, yes i agree it may not be the fastest but if a P700 can scoot through 16000+ enteries almost instantly that is quick enough for me. I could have set up an array i agree but i was being lazy when i set it up and to be honest it worked well enough.

Take it easy guys, look forward to seeing how you get on.


EDIT:

Quote
Again, to me (my opinion) this could be a bad thing. This is not a true "fullscreen" mode.
« Last Edit: August 01, 2005, 03:22:34 pm by Barcrest »

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #19 on: August 01, 2005, 02:34:37 pm »
Quote from: nipsmg
If my assumptions are really "mostly incorrect", please point me in the direction of a jukebox app with the features I'm looking for.  I'd seriously really appreciate it.

Okay, here we go.  Is anyone suprised that I'm about to point out WinCab?  :)

[li]Mostly written in VB6 using windows controls.[/li]
WinCab is written in C.  It doesn't use a single Windows control.
Quote
[li]"fullscreen" mode is usually a maximized windows form with no control box/titlebar.[/li]
"fullscreen" mode is DirectX-based in whatever resolution your video card supports.
Quote
[li]Many do not utilize a database, making searching/sorting very slow [/li]
Well, you have me here.  WinCab simulates a mechanical jukebox, so there are no sorting/search functions.  Version 4 will implement filters and sorting, and I will either use my own indexes or move to TinySQL to support those.
Quote
[li]Many use basic vb6 list loading procedures (listitems.add), which is very slow for large lists[/li]
Again, no VB here.
Quote
[li]Little to no animation (since animating windows controls is not really fun/pretty)[/li]
The version I released a couple of days ago does have a "slide" page change animation.  In addition, you can map buttons or images on the screen to react to jukebox events.
Quote
[li]Not "commercial" looking
Everything about WinCab is skinnable, down to what elements appear on the screen and where they're located, so it is as professional as one cares to make it look.  I'll be the first to admit that I'm no artist, so the default skins may not look too professional.  See http://webpages.charter.net/celamantia/jukebox/gallery.html for screenshots of the default skins.

Quote
Here's my basic requirements for this software:

REAL fullscreen jukebox (Using DirectX or GDI).
Check.
Quote
No windows controls (except maybe for a separate configuraiton program, if that's the way I decide to go).
Check.
Quote
NO NEED FOR KEYBOARD.
Check.  (Keyboard, gamepad, and mouse/touchscreen entry are all supported, although touchscreen support requires XP or DOS.)
Quote
Easy to use, clean, clear interface.
The interface is dependent on the skin, but I'll credit myself with a Check here.
Quote
Search by artist, title, song, etc.
Bzzt.  I lose here.
Quote
Display album art.
Check.
Quote
Screen saver.
Check.


--Chris
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #20 on: August 01, 2005, 02:59:15 pm »
Chris:

Nice.
You're absolutely right on all of your points.  About your software.  It does do a lot of what I want, just not with the specific interface I want.  And its not written in VB.

My basic post was about what *many* of the jukeboxes out there are like, and what I'm specifically looking to develop.   I was careful not to make a sweeping generalization by saying "All of the jukeboxes out there".  I used words like "Many", and "Some", and "Certain" instead of "All".

Yours does have some of the features I like.  However, not one has all of them, which is why I'm writing my own.  Thanks for pointing it out tho, yours is one of the few free (for non-commercial use) jukebox software packages out there that aren't just forms applications.








oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #21 on: August 01, 2005, 07:16:46 pm »
A category screen would be good, with the ability to easily add or delete categories. Came across this one (look at the images at the bottom of the page).

http://discojuke.tripod.com/id1.html

I think it can be used with a button interface or on a touchscreen.
« Last Edit: August 01, 2005, 09:16:21 pm by oznetradio »

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #22 on: August 02, 2005, 06:55:41 am »
A category screen would be good, with the ability to easily add or delete categories. Came across this one (look at the images at the bottom of the page).

http://discojuke.tripod.com/id1.html

I think it can be used with a button interface or on a touchscreen.

Thanks oznetradio.. 
I had originally intended to just use the ID3v2 tags for categories (i.e. genres), but user definable categories is a possibility (which is, in reality, basically a larger custom playlist.)


Also, as a general note:

I'D LIKE TO GET THIS THREAD BACK ON TRACK PLEASE!!!

I was making a general observation. That's all.  Yes there are exceptions to almost every point I made.  Everyone please calm down and realize I'm not attacking anyone here.  I didn't mean to say anything in a derrogatory fashion, and if I did, sorry.  now... i'm going to summarize my first statement to make it easier for everyone:

Does Anyone have any really cool new ideas for a new touchscreen jukebox software project I'm starting?

oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #23 on: August 02, 2005, 06:24:19 pm »
As I am not savvy with programming, I can only speak from a user point of view.

I really liked the GUI and design that you used in your first posts (remember the rough mock-up that you did in photo shop? http://forum.arcadecontrols.com/index.php?topic=9023.0).

Although I have never used TouchTunes, I like the look of it and your mock-up design captures it wonderfully, and it looks modern.

I would love the ability to also play video. To me, this is more important than having the album details, but if they both could be incorporated it would be a bonus.

The reason I suggested categories in my previous post is that sometimes people can't think of artists to start searching for and need to be "prompted".

Will this be for touchscreen only, or will it have the ability to be controlled by a button interface if preferred?
« Last Edit: August 02, 2005, 06:28:58 pm by oznetradio »

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #24 on: August 03, 2005, 07:39:33 am »
Thanks for the compliments.

The interface mockup you saw in my previous thread was just that, a mockup. 

It was a very very rough interpretation of what i'm looking to do, and I've changed my ideas a bit since then.  However, I plan on making the interface as skinnable as possible, so it can be tailored to your liking.

As far as the touchscreen/computer interface.

I'm sure there are more complex issues I'll be looking at , but the major difference between a touchscreen/computer application is: No mouse pointer.   That's easy enough to turn on/off.  Of course touchscreen interfaces have to be designed with a users finger in mind as the touch device, so the buttons will be larger.  This could be annoying to use with a mouse, but i'm sure i"ll have an option to turn a pointer on.


Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #25 on: August 03, 2005, 10:01:52 am »
I'm sure there are more complex issues I'll be looking at , but the major difference between a touchscreen/computer application is: No mouse pointer.
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #26 on: August 03, 2005, 10:23:20 am »
True, I didn't think about that..
That's depending on the control though, of course.

I don't want a virtual keyboard to repeat the key when it's held down, yet I want a button used to scroll to repeat, or anything you hold down and drag (i.e. scrollbar indicator).


That's easily taken care of by continually checking the buttonstate in the main program loop, and making sure that all interface object implement a base interface like "IScreenControl" that has some kind of property "repeatable".

Actually, you'd need 3 types to cover what I was talking about.
1: Touching the control causes a single button press (Down/Up).  To repeat you have to   
      touch it again.
2: Touching the control causes repeated button presses (down/up/down/up) until
     released.  This allows for scrolling a scrollbar using the arrows.
3: Touching the control causes it to remain in a DOWN state, and allows dragging/etx (for   
     dragging the scrollbar indicator up/down (or left/right, depending on orientation).


I haven't quite gotten that far yet.  I plan on doing the interface/class designs for the new jukebox implementation sometime this week.

Anything else I should think about Chris?



Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #27 on: August 03, 2005, 10:39:37 am »
Anything else I should think about Chris?
No, that was the biggest issue I ran into other than reading the touchscreen position itself.  The DirectInput mouse and the GDI mouse may behave differently; a touchscreen doesn't return mickeys.  This is why my touchscreen code works on XP but not 2000; I had made the assumption that it would read like any other mouse which wasn't true.

For my repeats, I just make all buttons repeat.  Like the PC keyboard, it takes a little longer for the button to start repeating than to keep repeating, and I use the same repeat mechanism for input from the touchscreen, keyboard, or gamepads so everything is consistent.  If a user doesn't want a button to repeat, he can choose not to hold it down.  :)  I don't have any "drag" controls in my jukebox by design; in my mind, anything you can drag feels too much like a computer and not enough like a jukebox (but again, I'm going for "mechanical jukebox", not "computerized jukebox").

--Chris
 

--Chris
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #28 on: August 03, 2005, 10:58:50 am »
Gotcha.

I'm emulating the "touchtunes" type of jukebox, which actually has a scrollbar from A to Z.  You can click, or you can hold and drag the letter indicator up and down, which is nice.

(you can also click in the scroll area and jump to that spot, which I plan to implement).

This is a bit more difficult than I had thought, and I've never written my own non windows-based controls before, so writing the event subsystem should be fun  :-\  It's a learning experience, and a chance to learn a new language.

I write vb.net professionally for corporate apps, but know very little C#.  I'm writing this entirely in C# (they're so close, there's no reason to not be able to do it).

Here goes nothing.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #29 on: August 03, 2005, 02:52:49 pm »
Well, I've come up with a possible name, and created a logo/title for it.

This image should give an impression of the visual style I'm going for with most of the controls in the original skin.  They may be a bit more "cartoony" and less glassy in the final product, but it's a hint at what I'm looking to do.

Introducing... PowerPlay Media Jukebox




If anyone has any comments/suggestions/criticisms, please feel free to unleash them on me. Thanks.

NinjaEpisode

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 733
  • Last login:June 16, 2019, 06:47:45 pm
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #30 on: August 03, 2005, 03:22:56 pm »
Ok, time for me to chime in on this.

I have several main issues with every program I've tried thus far.

Background 2080 Full Albums, 3540+ Artists, 27500+ Titles

1.)
« Last Edit: August 03, 2005, 04:05:27 pm by NinjaEpisode »

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #31 on: August 03, 2005, 03:36:21 pm »
YAY.. that's all I can say.

Thanks for the informative and opinonated reply.

1) Well, basically, the way this is going to work is:

    During the scan, the program will rip out any art in the MP3 file's ID3v2 tag artwork and save it id3xx.jpg in that directory.  It will also scan for ANY IMAGE WHATSOEVER in the album directory and will associate it with that album.

   There will be some ability to "change album art" where you'll be able to see all of the art that was detected for that album, OR will be able to browse to / select an image.

2)
    Not to worry on this one.  A correctly structured, normalized, and properly indexed database will allow for VERY FAST searches/selections.  MDSE is more than capable of handling this.

3) 
    That's the ultimate goal.  This is going to be more of a "computeized" looking interface, (it's supposed to lok graphical), but all buttons will operate like and be animated like real buttons.  When touched, they will depress and pop back.  That's a big sticking point for me, the VISUAL quality.

4)
    Done.  There is no other way I plan on doing this.

5)
    Done.  No question.

6)
    I will have an option to do the following:
        Scan by folder structure (select various options here)
        Scan by MP3 Name (select various options here)
        Use ID3 Information.

    The first release will probably ONLY use ID3 Information, so I hope everyone's MP3's are properly tagged.  If not, go get TAG & RENAME and fix them!!


Thanks, I think I'm getting sweet on the name too, it might be permanent.
--NipsMG

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #32 on: August 03, 2005, 05:14:36 pm »
Here's the database diagram for the database that I'll be using to power this.

Note: the datbase will basically only be used to hold artist/song/genre/artwork/video info for fast searching.  Skins, layouts, and options will most likely be kept in XML or INI files.


http://www.gerety.net/Jukebox/DatabaseDiagram.htm


For those of you that can follow.... Have I missed anything?  Am I forgetting anything?

Thanks.

--NipsMG

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #33 on: August 03, 2005, 06:23:15 pm »
Will you be able to offer an option to sort by either Artist Name or Album Title?

Based on your linkages in your diagram, I was not sure if this would be possible ..... of course I am not a database person though  :P

Chris

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #34 on: August 03, 2005, 09:03:18 pm »
You may want to store Track Length as well.  My random-play routines ignore tracks over a definable length to avoid randomly playing long mixes.
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your feature requests!!!
« Reply #35 on: August 04, 2005, 07:35:32 am »
Unclet:

Yeah you could still sort by Artist Name or Album Title.

You can sort by any of the fields you see in the diagram.  The links are only what associates one table with another.

--NipsMG

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #36 on: August 04, 2005, 03:54:47 pm »
Here's some more artwork for an idea of what the controls in the initial skin will look like:





**EDIT**
Note: the image was sized and looks choppy, the original artwork has smooth edges.

NinjaEpisode

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 733
  • Last login:June 16, 2019, 06:47:45 pm
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #37 on: August 04, 2005, 06:32:52 pm »
Thumbs up dude!  In my worst Paris Hilton impression: "That's Hot"

Thought of another requirement:

-- The jukebox should have the ability to scan network drives.  I've had a couple where this was not possible.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #38 on: August 05, 2005, 08:05:51 am »
Interesting..


UNC Paths?  Or mapped network drives?

I don't know how easy it would be to allow the entire network to be browsed to allow for scanning, but I can look into it.  Mapped drives are easy enough.

--NipsMG

NinjaEpisode

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 733
  • Last login:June 16, 2019, 06:47:45 pm
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #39 on: August 05, 2005, 09:25:14 am »
I would think UNC would be overkill, but it should be looked at.

Mapped drive is a definite.

richms

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 596
  • Last login:January 07, 2025, 06:42:57 pm
  • s92a sucks
    • richms.com
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #40 on: August 06, 2005, 12:18:27 am »
UNC paths, and typeable as well as browseable. For some reason here the browse on the network neighborhood takes forever so I dont use it.

I would also add being able to have a centralized database on a mysql machine and the clients connect to that to search etc would be good so the machine in the jukebox can be a low-ram machine and still handle a huge number of songs, will also mean its not scanning over the network.

Also, make it work with audioscrobbler so that I get a record of whats played quite easily too please.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #41 on: August 07, 2005, 09:52:40 am »
wow, that's awful specific, but I guess that's what I asked for, a wish list.

As for the UNC Paths, I think in the interest of keeping my sanity I'm going to keep a majority of the configuration of the jukebox in a separate configuration program/interface.  A full screen jukebox application with lower resolution and large controls doesn't lend itself well to large amounts of configuration screens.  If I end up coming up w/ a relatively easy GUI subsystem, maybe, but the development time will leap also if I have to add millions of configuration dialogs to a fullscreen directx application.

Ideally, I'd like to be able to have it configured from an application bundled with it, and also by a web interface of some kind.

However, you'd definitely be able to browse to and type in UNC paths for selected scanning spots.

Also, as far as MySql:  I'm not entirely sure of the database I'll be using with this, but allowing the use of a MySql ODBC connection compared to a Jet ODBC or a MSDE ODBC Connection is trivial, although there's some subtle SQL Differences that'd have to be worked out.  Initially this program will only be able to use ONE database type, however if I design the data layer well enough, it should be pretty easy to swap out which physical database you'd  be using.

I'll keep everyone posted.

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #42 on: August 08, 2005, 10:46:44 am »
Looking at that database diagram (which is ugly ;) ) I see somethings wrong with it.
I am assuming bold is identifying keys?

1) you don't have anything to link artist to the artist's albumn, missing a FK.
2) Track should not be dependant on albumnID.  Need to know what albumn it belongs to UNLESS it is a single then it won't have an albumn. (which then will artowrk need to tie into artist too with singles?)
3) I would reverse media//track relationship.  Video belongs to a track, not a track belongs to a video.  Just need a track ID in videos to identify what track it belongs to.

Suggestion, going to add lyric support?  I've seen that on some jukebox software, pretty nice stuff.

Quote
Initially this program will only be able to use ONE database type, however if I design the data layer well enough, it should be pretty easy to swap out which physical database you'd  be using.
Well, for searching since you are going to use LIKE this will be an issue if you want to support JET/Access.  As the wildcard for Access is '*' and not '%' like every other SQL!  Actually wait, using ADO and a JET I think '%' is fine.  Errr, I hate SQL access to Access...
Other than that you aren't going to be using anyhting that is specific to a SQL engine, just your run of the mill INSERT, UPDATE, and SELECT statements, right?  And maybe a setup script with create and drop tables.
Then its just swapping connection strings...

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #43 on: August 09, 2005, 08:39:15 am »
OK wow visio royally screwed up my database diagram, and I don't like the way it shows linking.

Here's how to read it (it sucks, I have to find a better way to display diagrams).
Bold = Required Fields (i.e. NOT NULL)

1)  There is an ArtistID in the Albums table, it got cut off.

2) Point taken, however most singles are Singles off a specific album.  There's a reason why I did that. If someone's searching by album and they start thinking "Wow, I want to hear that song off the Black album by metallica" and they scroll or filter to that album, I want the one or two songs I have off that album to show up under that album.  I may allow the user to check a "Single" box next to the album box, which will automatically assign an Album ID of 0, named "Single",  if it's from a Single CD that has more than one track on it (like most do), well then, it really does have an album and should probably be properly specified as such.

3)  The MediaTypes table is used to speficy the media type of either a Video or a Music file.  if a Track has media type ID of 1, it's a MP3.  If 2, it's a .AAC, if it's 3, it's a wma, 4: .ogg, etc etc etc.  This also allows there to be media types 5: WMV, 6: AVI, 7:MPEG, etc, instead of having 2 separate tables, one for video one for audio.

    The video Does belong to the track, not the other way around.  This diagram structure sucks, but the database itself is actually sound.  I apologize for the bad diagram, I shoudl have looked it over before uploading it, but i was in a rush out the door.

--NipsMG



SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #44 on: August 09, 2005, 10:44:03 am »
2) Point taken, however most singles are Singles off a specific album.  There's a reason why I did that. If someone's searching by album and they start thinking "Wow, I want to hear that song off the Black album by metallica" and they scroll or filter to that album, I want the one or two songs I have off that album to show up under that album.  I may allow the user to check a "Single" box next to the album box, which will automatically assign an Album ID of 0, named "Single",  if it's from a Single CD that has more than one track on it (like most do), well then, it really does have an album and should probably be properly specified as such.

That's popular mainstream music thinking. 

Now, let's say you have a huge archive of mp3s from the old mp3.com days...

Or, a more specific example, you have White Stripe's "Black Jack Davey."  That was a track released specifically for iTunes, it is a single with no albumn.

Basically going to make an albumn ID of 0 for each artist which represents singles?

happypyro

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 6
  • Last login:September 05, 2005, 09:26:54 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #45 on: August 09, 2005, 02:15:01 pm »
I just wanted to say good luck with this project.  Ive always admired people with programming skills that can create cool, usefull things like this :).  Im just getting into the pc jukebox thing and i am with those of you who would love to have a touchtunes look at home - including a que.   I think the requests for videos on the second monitor is a good one, especially with a dual head graphic card that can output the second monitor from an s-vid out.

Your graphics are looking great by the way.  Photoshop takes up most of my day at work so i was looking forward to creating my own skins but i probably wont now :)

again, good luck.  also, i need this to be finished by october for a wedding reception...

-ds

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #46 on: August 09, 2005, 02:15:11 pm »
Artwork is what makes that a pain in the ass.

However, if there's an ITunes only release, there's probably no artwork, but I do remember singles back in the day having their original art. 

Let me think about the best way to implement this (i've already started on the data layer code, this will force some changes, but I think it's a step in the right direction).


nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #47 on: August 09, 2005, 02:17:25 pm »

again, good luck.  also, i need this to be finished by october for a wedding reception...

-ds

Good luck with that  ;D

While I am working on this, and it would be great, I make absolutely no promises as to when this will be completed, although regular status updates will be made.

I'm unfortunately greately affected by Real LifeTM working upwards of 70 hours a week, and going to school nights starting again in late August/Early september, so how quickly this gets done is anyone's guess.  You never know.


happypyro

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 6
  • Last login:September 05, 2005, 09:26:54 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #48 on: August 09, 2005, 02:21:57 pm »
this could be way out of line so dont thrash me, but could a working gui be created using flash?

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #49 on: August 09, 2005, 03:37:24 pm »
Happypyro:

I've seen flash integrated w/ vb6. I'm doing this in .net however, so if flash can't be integrated w/ C#, it's not getting done. I'm doing this not only to write the software, but to become better versed in C#, so we'll have to see what happens.

SirP:

Changes:

Removed Year from Albums, added to Tracks to accomodate singles, compilations, and Best OF cd's.

Removed Genre from Albums, added to Tracks to accomodate singles, compilations, and Best OF Cd's.

Removed Artwork ID from everywhere and made it less strict.
Removed AlbumID from Artwork table and changed it to AssociatedID.
Created an AssociationType field in the Artwork table that can have one of the following values:

      0  /*Artist*/
      1  /*Album*/
      2 /* Track */

That should pretty much fix the whole artwork issue.


SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #50 on: August 09, 2005, 03:54:23 pm »
Cool.
Well, iTunes has a cover art for Black Jack Davey but I don't know if there is a way to get at it for a jukebox program :(

I found another possible issue which I would not worry about since cddb and freedb don't even handle it correctly.  You get alot of remixes with techno.  I picked up Darude - Sandstorm.  Gah, the version I have is not in any of the databases.  It's a 15-16 track CD with two extra remixes.  cddb has two Sandstorm albums, wmp has different art for each album.  But no one has this particular album!  The two remixes don't show up in the cddb or freedb and wmp doesn't have the artwork.  At least from what I can tell.

So, are you going to grab artwork from somewhere and cache it local.  That way I could override the artwork if I need to.


For the artowrk table, if I usnderstand, you will have two keys, AssociatedID and AssociationType.  ID will be the ID from the artist, albumn, or track table.  Type will be what table that id came from?  Sounds good.

NinjaEpisode

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 733
  • Last login:June 16, 2019, 06:47:45 pm
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #51 on: August 09, 2005, 04:03:57 pm »
So, are you going to grab artwork from somewhere and cache it local.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #52 on: August 09, 2005, 04:17:57 pm »
NinjaEpisode:

Basically, when you scan the collection you can do so with various options, but basically it will take ANY artwork in the directory with your album and apply it to that album.

so if you've got
Album.jpg
AlternateArt.jpg
AlternateArt2.jpg
AlternateArt3.jpg

you'll be able to select any of the 3

It'll apply any art stored in the MP3's ID3v2 tag directly to the track, and to the album if there is no album art stored, and it will allow you to search for missing album art online, it WILL cache it locally, and allow you to change it later.


mvaughn

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 37
  • Last login:December 05, 2007, 11:25:55 pm
  • I'm a llama!
    • NukeSilo.com
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #53 on: August 10, 2005, 12:52:27 am »
Your off to a great start so far.  I like that you are asking for input from potential users.


1. It would be nice to have a 10, 50, or 100 most played list that would allow someone to easily see the most popular songs.  I would imagine that this could be accomplished by adding two more fields to the tracks table in your database, a TimesPlayed and DateLastPlayed.

TimesPlayed would be a simple running total of how many times a song has been queued by a person.  DateLastPlayed would be a Date/timestamp and would allow you to weight the ranking of a given song.  IE if a song was really popular last year and accumulated a ton of TimesPlayed but is now not as popular, the DateLastPlayed would knock it down in the list or popular songs....  just an idea  ???

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #54 on: August 10, 2005, 09:29:19 am »
mvaughn:

Already on it..  What I had planned on doing (which I forgot the tables for in the original diagram, but have already fixed in the database) was storing number of times played, and play history.   I didn't think of implementing a 10,50,100 most played list, which is an interesting idea (and very easy to implement) but I had planned on having the computerized "Random Playlist" (which is used when there are no user songs in queue) to create a playlist that gives a randomly higher weight to songs that are more frequently played.  So where a song that has never been played can get a random play priority from 1 to 20, the the most played song can only be ranked between 17 and 20, frequently played songs between 13 and 20, less often played songs between 8 and 20, and so on.  This list is generated anew each time the user playlist runs out of songs.

--NipsMG

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #55 on: August 10, 2005, 11:53:54 am »
Weighted play is ok if you make it configurable, somebody at home might want to hear their favourite tunes more but in a commercial environment you would want the least played tunes to play so people would actually bother to come up and put money in.

Just thought i would point that out.

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #56 on: August 10, 2005, 11:55:50 am »
Weighted play is ok if you make it configurable, somebody at home might want to hear their favourite tunes more but in a commercial environment you would want the least played tunes to play so people would actually bother to come up and put money in.

If commercial environment is a target for the project.
And you don't count those plays as that would end up evening out the play counts.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #57 on: August 10, 2005, 12:52:13 pm »
My target is home users.

I'm by no means committing myself to a commercial product.

This is for fun, not profit.

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #58 on: August 10, 2005, 04:14:02 pm »
My target is home users.

I'm by no means committing myself to a commercial product.

This is for fun, not profit.

I see what you are saying but there has to be a distinction between a media player and a jukebox, you could set winamp up to play your favourite tunes or even media player. The reason i wanted a jukebox was to emulate the functionallity of what you get in a pub otherwise i would have just used winamps media library. If you want to make a jukebox that is doing this then you would have to go about it as if you were making a comercial product. A comercial product for home use so to speak otherwise if it is a cut down version it would be akin to wanting photoshop but using ms paint as it's sort of the same but just cut down.

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #59 on: August 10, 2005, 04:31:14 pm »
The reason i wanted a jukebox was to emulate the functionallity of what you get in a pub otherwise i would have just used winamps media library.
So what is this functionality?

I see this going on here, he's designing this for touchscreen, in fact I believe the inspiration for this project is to make a Bose TouchTunes type software with more functionality.  Media players generally such for touchscreen environments.  Both jukeboxes and media players play the songs you want to play, so how would jukebox software not be considered a media player then?

oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #60 on: August 11, 2005, 06:17:51 pm »
Will you incorporate a volume normaliser?

NinjaEpisode

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 733
  • Last login:June 16, 2019, 06:47:45 pm
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #61 on: August 11, 2005, 08:15:11 pm »
Will you incorporate a volume normaliser?

nice idea!

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #62 on: August 16, 2005, 11:41:40 am »
volume normalizer: Possibly.

Barcrest:

The point is to mimic a commercial application, for home use.  I'm not trying to skimp on features or appearance, I'm just not dealing with the hassle and legalities what come along with allowing people to use my software to illegally collection money from unlicensed music in a commercial setting.

I may even allow for credits.  However, if you want the "Feel" of a jukebox, and want to drop in tokens, be my guest, but you'll have to deal with "not for commercial use" while in that mode on the bottom of the screen, in red letters.  They might blink.  I might have "Clippy" come out and tell you it's bad to play with unlicensed music, boys and girls.. Who knows.  ;D

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #63 on: August 16, 2005, 12:53:11 pm »
Fair enough, i realised that and didn't want to turn your thred into another argument.  ;)

oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #64 on: August 16, 2005, 07:01:03 pm »
So how's it coming along?

Any idea when a beta will be released ? ;)

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #65 on: August 17, 2005, 03:15:24 pm »
It's coming along, but slowly.

I only can code on the weekends, if I have spare time.  There will be a beta, but I'm going to have to adopt a "when it's done" policy.

I'll post info/screenshots/etc as it matures.

--NipsMG

oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #66 on: September 09, 2005, 02:47:32 am »
* BUMP  :o ;)*

oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #67 on: October 09, 2005, 06:41:26 pm »
Been a while...  :-\

Can you update us all on your progress?

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #68 on: October 10, 2005, 05:23:24 pm »
Yep!

Sorry guys.  Real LifeTM took over.  (It's a ---goshdarn--- leech!).
My schedule:

     7:00AM - 5:00PM  Work
     5:00PM - 8:30PM School (4 days a week)
     5:00PM - Sleep   on Wednesday: Homework.
     Weekends:  Usually a mix of being at work, homework, attempting to spend some meaningful time with the woman, and trying to see my friends at some point (which happens once every 2 or 3 weekends lately).


So needless to say, I have had very little project time, but I'm going to start taking my laptop to school now that I got caught up and I should be able to squeeze in about 2 hours twice a week on this, and some weekend time.  HOpefully that should get me further:


Status: 

          Database Design:                  95%
          Data Layer Implementation:  80%
          Object Design:                       40%
          Object Impementation:          5%
          GUI Design:                            95%
          GUI Implementation:              2% (DirectX event hooking/basic drawing complete).


Basically, I've got the database mostly designed (there will be some changes).  I specced out a decent amount of the classes but then came across a whole bunch more features I'd want to add later, and had to do a lot of interface design on classes to make it extensible.

I also switched languages twice.   I'm trying to get away from VB.NET and was going to do C#, went back to VB.NET for familiarity, then back to C# again!  Everything in school right now is JAVA 5 and or C++ so I need to get used to the syntax again.

Now I've got the language, got a lot of the design, have some implementation done. 

My issue: THE ---goshdarn--- GUI!  The one good example I've been able to find in a .net language for a DirectX GUI is the sample that comes with the DX9SDK, and the design is freakin RETARDED.  I wish they had some kind of UML Diagram to help demonstrate the relationships better.. debugging is a ---smurfette---.

I've got to get over that roadbump.  It's been a morale killer that's been keeping me from doing what I really want to do.  If I can resolve that, I'll be way back on track.

I'll keep everyone posted more often now.  I've gotten acclimated to the school/work thing again finally so I should be better able to manage my time.

--Nips



       



nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #69 on: October 10, 2005, 05:48:55 pm »
In the interest of not properly bitching about RealLifeTM enough:



Add to that schedule the following:

   Mon 7:00PM -9:00PM    Band Practice
   Weekend night shows as listed on the website.


    http://www.funnelrocks.com


olsteve

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 50
  • Last login:March 24, 2012, 10:33:35 pm
  • To play or not to play, that is a stupid question.
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #70 on: October 24, 2005, 07:59:15 pm »
Any progress? Waiting patiently.
Why is it when we talk to God we are praying, but when God talks to us we are put into the loony bin?

oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #71 on: November 15, 2005, 12:23:19 am »
Any progress? Waiting patiently.


Ditto

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #72 on: December 04, 2005, 09:35:53 pm »
Ok.  better late than never.   ;D

Progress has started again.  I'll be spending about 1-2 hours every day on this.  It's not a lot, but I have a renewed interest at the moment.

I'm going to put a disclaimer here just to remind people.  I'm not here to "compete" per se with the other projects out there.  I'm doing this project for me, but I do want to do so with a sound software design, and create something that's stable, usable, and extensible.  However, this is mostly for me, but i"ll let users play with/install my work. 

- I don't plan on supporting Ogg, at least right now unless it's easy to implement.   I have no ogg files.  I don't use Ogg.  The only people I hear beaming about Ogg are open source zealots who tend to piss me off more often times than not.  It's a format that may be great but really hasn't permeated to mainstream quite yet, and if it's going to be a hassle to implmenet, I won't implement it.  End of story.

Here's what I'm looking to do:

-A "clone" of the touchtunes system.  I like the interface.  I think it's very intuitive and attractive.  I think it's slow to respond, I hope to remedy that.  Besides that, I'm going to keep that kind of "feel" and feature set if possible. 

-Searchable by artist/album/genre/title.
-Customizable music categories.
-Scrollable alphabet a la touch tunes
-Top 10 by plays, top 10 by plays by genre, top 10 video plays
-Full statistical subsystem, keeps track of number of plays/ratings
-Randomized playback setting when no songs in play list weighted based on popularity, number of plays, and last played date.
-Skinnable
-Full screen app.  Maybe directx, maybe GDI+. not sure yet.
-Tag editor in program. 
-Album art display
-Mostly in-program configuration. 
-Can build library from mapped/UNC drives on request.
-Very basic screensaver a la touchtunes


Future possible additions:
-Alternative formats: (Ogg, Flac).
-Web services interface/remote administration.
-"Media Server" functionality to allow "download" to jukebox on request of music not existing on the jukebox.
-Visulizations.

The "future additions" are all dependant on how badly they screw with the interface.  I don't want the Swiss Army knife of media players.  I want something like touchtunes.  I want something that's extendable.  I awnt something that's customizable.  I want something that is very easy to use and straightforward.

That's the plan.  I'll keep progress in this thread.

--NipsMG




nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #73 on: December 06, 2005, 08:46:43 am »
Updates on implemented features:

- WMA Tag support added.
-Full ID3V1, ID3V2 support implemented including frames/pictures. 
-Scans for media files on first boot or on request, or every x days based on user settings.
-Mapped/UNC Paths supported.

« Last Edit: December 06, 2005, 09:18:46 am by nipsmg »

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #74 on: December 06, 2005, 11:45:58 am »
Update:

I'm writing a library to handle WMA tag/info read/write.  I've got the reading down but am still working on getting the binary stuff (images) down.  Writing seems pretty easy.  This is using the Windows Media Format SDK.  So unless I can find a free/open source component for WMA reading and writing, the app is going to require Media Player 9.0 or higher. (being that it's a windows app using the .NET Framework V2.0, I don't think this is going to be an issue, but I'd still rather not require it.  Oh well).

If anyone knows of a library that's free that will read/write WMA tags and images, please let me know. Thanks!

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #75 on: December 07, 2005, 10:55:30 am »
WMA Read completed.  Write, not so easy.  Problem is you have to set binary attributes as a byte array.  The properties of that including using pointers to strings and binary bitmap data in order to create the byte array to set as an attribute.  C# doesn't use pointers.  you can use the "unsafe" keyword to force pointers but type safety is getting in the way.

Once I get WMA image write completed, Auto Album Art downloading comes next.


nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #76 on: December 07, 2005, 05:13:26 pm »
Skipping WMA Image write. 

Hopefully microsoft will release a managed WMFSDK in the near future that can handle it, but you can't marshal the WM_Picture structure in C# and I treid manually writing the structure using streams and using unsafe code to get pointers, but I keep getting this "Value out of expected range." error... grr.

Oh well. I think I'm going to skip the amazon art downloading for now also.  There's plenty of code on how to do that and I can Implement it later.  I'd like to get the jukebox working first. 

Tomorrow: Audio playing functionality and starting DirectX GUI Implementation.

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #77 on: December 08, 2005, 07:09:21 am »
Would you be able to offer playing Random songs within a certain Genre only?   My wife loves Country and loves to turn on the jukebox for her Genre speifically, rather than hearing my "Oldies" stuff   ;D

PS:  Are you going to support lyric files or dual monitors?   

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #78 on: December 08, 2005, 08:43:08 am »
Yes.

My plans for the "random songs":

   Genre can be selected as an option for the "random playback" mode, which is automatically triggered (if the option is enabled), when the jukebox runs out of user selected tracks.  This option can be easily enabled or disabled by the user at any time.

   Basically, the "Random playback" mode will generate a master list of songs from the user settings which can be set to All Genres, a Specific Genre, or to a specific user created playlist/category.  The songs will then be selected based on stats (number of plays/ratings/etc), and songs that have a higher ranking (larger number of user selected plays/higher rating) will be slightly more likely to come up, and the "already played" flag will expire quicker on those songs than on those with a low ranking.  You'd most likely want to hear songs that you actually listen to more often, although there's still a good chance something new will come up to listen to.

Lyrics.... MAYBE.
I have a hard time believing that people who have a "jukebox" tend to sit in front of it staring at it while lyrics play.  Sure it's a possibilty and a "cute" feature, but i'm not creating a Karaoke machine here.  However, I figured out how to read/write (and am kind of intrigued by) the WMA format's embedded "Synchronzed Lyrics" binary attributes, so maybe I'll support this in a later release.

Dual Monitors.....  sure?  I'm guessing with DirectX it should be relatively straightforward enough to select the second monitor and create a new device and draw to it.  We're not quite there yet, but I've got a dual monitor setup at home, I'll test it out.

My question to you is: WHY?!  What would you display on a 2nd monitor.  Note: I'm not saying "no" here, I'm just interested to see what you're thinking.

« Last Edit: December 08, 2005, 08:47:29 am by nipsmg »

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #79 on: December 08, 2005, 09:38:24 am »
Since it seems you are supporting videos, then it would be nice to have a dual monitor setup (monitor1=PC, monitor2=TV).  This will allow the user to select songs on the PC monitor (see the songs already in the queue, etc.. etc..) while the video is currently playing on the TV.

Basically, if you only had one monitor and a bunch of people come up to the jukebox to select songs, then the other people can not enjoy the videos which are currently playing.   

PS:  If you were creating a MP3 player only (ie: no video), then one monitor would be plenty.


nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #80 on: December 09, 2005, 08:28:19 am »
Interesting..

I'll definitely look into dual monitor support.

frosty-4th

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:December 18, 2005, 08:25:39 pm
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #81 on: December 11, 2005, 06:49:07 pm »
A feature I would like to see is a page that allows enabling/disabling specicif genres.  For example, the PC Jukebox allows you to filter your collection by one genre.  What I would like is the ability to filter the selection by one or many genre selections.  Lets say that I have a genre for christmas music and I don't want to listen to that in July, I would simply disable that genra and it would no longer show in the main window and it wouldnt play while in random mode.

Thanks, I'm looking forward to the beta.  If you need any help coding, let me know what I can do.

Frosty

unclet

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3561
  • Last login:March 17, 2025, 11:51:15 am
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #82 on: December 11, 2005, 06:57:15 pm »
YEs, this is one thing I wanted to include in my jukebox software but I thought of it too late .... it would not have been easy to put in ... and I got lazy as well  :>)

Anyway, I would like this so I can random through Country and Oldies genre rather than having RockNRoll in there sometimes ....

frosty-4th

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:December 18, 2005, 08:25:39 pm
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #83 on: December 12, 2005, 06:03:59 am »
It wouldn't be that hard.  If each row in the genre table had an enabled column that is set to yes or no then the sql would look something like this

SELECT t.song_title, t.album_title, t.artist
FROM track_table t, genra_table g
WHERE t.genre_id = g.genre_id AND g.genre_enabled = TRUE;

this would of course require a screen that lists all the genres that allows setting and unsetting the enabled attribute for each.

Frosty

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #84 on: December 13, 2005, 06:52:10 am »
This is already an absolute requirement.  I plan to load more music on the jukebox than I intend to listen to, even *GASP* country  music.   :P

Reason Being: when people come over, I want them to be able to pick what THEY want to listen to.  HOWEVER, I don't want country playing in my random playlists.  (Sorry country fans, I can't stand it.)

The basic plan is to have 3 Restriction settings by genre:

     None            - No restrictions
     Playlist         - No random selection
     All                 - Not available to be picked at all.

I think that the "all" setting is useful for when you know ahead of time the type of music people are going to want to listen to.  If they're a rap/dance music crowd, you can enable those genres.  If they're a rock/metal crowd, disable everything else, etc.


Progress Update:

    Figured out WMA Binary tag Read AND Write, back in business with that one.  Have MP3 ID3V2 read/write down.  I'm agonizing over what i want to use for playback now.  I'm thinking maybe the BASS library would be really good for this, but I'm not really sure yet.  I DON'T want to use Windows Media Player for playback if I can help it, but I'm already using the winformat SDK for WMA tag read/write, so who knows.

   3 Day coding break:  FINALS! & Microsoft Certification exams.




« Last Edit: December 13, 2005, 06:54:18 am by nipsmg »

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #85 on: December 18, 2005, 11:32:52 am »
Quick status update:

This project will require the .Net framework version 2.0.
I don't know if any of you who write microsoft code have tried VS2005 yet, but if you can, GET IT AND USE IT.  It's absolutely amazing.  Everything in the environment is better, works better, is more intuitive, is prettier, etc.  hard to explain unless you try it.

Progress:

   I've got an EXTREMELY fast method for scanning for files using the win32 apis.  It's infinitely faster than any other method I've attempted to use before.  This should greatly speed up building the initial media database.

   

mccoy178

  • It's hard to work with a straight jacket on
  • Trade Count: (+9)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3127
  • Last login:September 03, 2021, 10:23:42 am
  • Go Bucks!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #86 on: January 16, 2006, 07:37:46 pm »
Just wondered what the status on this was.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #87 on: January 19, 2006, 09:06:07 am »
Frozen until Feb 1st (possibly earlier).

Then, full speed ahead.  I know I know, you'll believe it when you see it.
Look for some visuals in february.  (I know this is turning into a missioncontrol type project, but..  I hope i can pick up the pace a bit now.)  ;)


oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #88 on: February 07, 2006, 06:20:56 pm »
Well.... it's February  :laugh:

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #89 on: February 22, 2006, 03:17:46 pm »
Yes it is.

The original database design was insanely flawed, so It has been revamped from scratch (which totally affects program objects/interactions, but a ground up redesign will allow everything I'm looking to accomplish, so this works the best.)

Some interesting features of the new design:

  • Tracks are not album specific.  This not only cuts down on data redundancy
        but allows for singles.  Doing a query using Albums table w/ a left join will
        return tracks with a NULL AlbumID.  These will be categorized as "Singles" or
        "Unsorted" for that artist
  • Artwork is not track or album specific.  3 tables (TrackArtwork, AlbumArtwork and
        ArtistArtwork) allow you to assign artwork to any level.  Artwork is selected by default as 
        Most specific/Lowest Sequence, but this may be changed in program options.
  • Genres can also have a ParentID.  I found it annoying that when I want "dance" or "techno" that i'd have to select 50 different genres.  This allows for hierarchial genre definition so that "Rock" can include Classic, Progressive, Alternative, Metal, Hardcore, Etc.  "Dance" can include freestyle, House, Hard House, Vocal House, Jungle, Trance, etc.
  • Tracks have a "MediaTypeID".  This way, Videos can be added, and if added to an album with a blank track number will display below the track list on the album screen under a "Videos" heading.

New Design Diagram:

http://www.gerety.net/images/DBRedesign.jpg

There's a lot more that went into this design for good reason.  Basically, I want this as extensible as possible. 

I'm not perfect.  This could be normalized better probably.  I may have forgotten something.
Round 2.  Hit this stuff up ASAP.  I'm redesigning the data access framework as we speak.  So while I'm doing this, now is your time to have some influence on the database structure.  Once this is solidifed, don't expect changes till release 2. (And release 1 is still a ways off, obviously).

Speak now or forever hold your peace.

Status:
    Database Design: 98%
    Data Access Framework Design: 70%
    Data Access Framework Inplementation: 5%
    Application Framework Design: 60%
    Application Framework Implemenation: 0%
    GUI Windowing Framework: Using existing Framework. DirectX. 100%
    Skinning Framework Design: 90%
    Skinning Framework Implementation: 30%
    GUI Design: 95%
    GUI Implementation: 0%

Keep on me about this. 
I want to get this written.  I have serious ADD. I need kicks in the a** to keep moving.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #90 on: February 23, 2006, 02:14:00 pm »
New audio library selected:

Using the BASS Audio Library.

  Native support for mp3 + ogg.
  Plugin support for AAC, FLAC, WMA.


   All tested, All working (Including tag read for all).


   Progress continues..

clanggedin

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1071
  • Last login:July 02, 2012, 11:08:55 pm
  • O'DOYLE RULES!!!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #91 on: February 23, 2006, 04:20:39 pm »
I really excited to see where this one os going. I have tons of full cds and my wife have tons of singles. This is going to be good.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #92 on: February 24, 2006, 10:30:16 am »
Thanks for the interest.  That's definitely going to help keep this thing going!

Anyways, since this thing has been changed and delayed so much, I figured I'd include a shot of the Assembly Test GUI to prove that there IS progress and that I'm not stopping. I hope to keep doing this along the way as well, we'll see how it goes.



Ramblings:
It seems the BASS library pulls Tag info for every type of file EXCEPT Flac.  Not quite sure why that is, I think it has to do with the author of the FLAC plugin.  This isn't necessarily a problem.  Right now in the player library I'm pulling the tag info, but I plan on only allowing playback of files in the jukebox database, and that's a separate assembly doing the tag processing there.  I may use BASS to pull the tags for most, I may not, so this isn't an issue. I can just write the code to pull FLAC tags.  Interesting tho.



Since this is using the BASS library, the jukebox will have the ability to play any files that BASS supports (natively or through plugins), and there's a lot:

Native:
Samples:
WAV/AIFF/MP3/MP2/MP1/OGG
Internet File Streaming:
MP3/MP2/MP1/OGG/WAV/AIFF (Shoutcast, Icecast, & Icecast2) w/ buffering
MOD Music
MO3 Music

Plugins
WMA/FLAC/WavPack/SPX/AC3/MPC/ALAC/TTA/APE/OFR


There's plugins for BASS to use winamp vis plugins too.  Whether or not I can force the graphical output to directx on another monitor (or even the same monitor) is not clear yet.  Note: I'm NOT committing to winamp plugin support, but it's a thought at the moment.


More coming later.



Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #93 on: February 24, 2006, 02:07:29 pm »
Yep, winamp plugin ran too unstable for me, when I tried add this to my own jukebox software, so I pulled this off again (I use the same engine too).

You could only have one stream at same time, but Im needed too. And when receive totaltime (1: open a file, 2: get total time and 3: close again gave a LOTS of problems). IN_MID diddent work very well, and the another one was V2M.

So by now I droppede that again, and only using the internal plugins (the code is still there).

Im remember as Shoutcast diddent even run very well (SO i used a html gadget to that instead, with worked a lots better in my option).
« Last Edit: February 24, 2006, 02:09:38 pm by Space Fractal / Denmark »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #94 on: February 24, 2006, 08:22:18 pm »
Yeah, the winamp plugins are still in version 2.0 and 2.1, I'm hoping they get updated with more stability.


I investigated CD+G, and had trouble finding a finished drop-in component, so I started writing my own CD+G Playback component from scratch using the CD+G specs.  It's about 1/2 way done.  Reading the files,interpreting, setting up palettes correctly, etc are all done.  There's an error somewhere in some of my bit manipulation that's causing some incorrect values.. Should have that squared away this weekend then it's off to the database and tag-scanning components. 

If anyone has a link to a good CD+G Solution let me know and I can save about 2 days on it.
Thanks!

I'll keep everyone up to date.

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #95 on: February 25, 2006, 04:38:22 am »
It over a year ago, when winamp plugins was updated (it still in Beta 2.1).

Tag3.dll is not bugfree, but it dosen't crash (but maybe on bad tagged files?). It most on when FLAC, OGG files was tagged with lowercase instead of uppercase (or was it swapped?). But it fine to use.....

I found only one document using CD-G, is that one I used on my own CD-G Player (you may allready found that). Find it on my download homepage (The Command Line Player). The Blitz+ with full source is included, and that is a link to the document.

CD-G is a pretty simple format. The hardest part was to get scrolling to work. I found no CD-G's, that used these commands, so I found some authorising and created one my self to get this to work.

Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #96 on: February 26, 2006, 11:21:35 am »
SpaceFractal:

That's the document.  Jbum.com. It's the only really good concise document I could find.

Your BB source code is pretty easy to read.  I don't know BB at all but I know vb well so the syntax is close.  I'll probably end up using your code to revamp mine so you'll definitely get partial credit in the readme along with jbum.com.

I really appreciate your help with this.  I've run across a lot of developers who get territorial and won't share information, especially with a potentially "competing" project.  Granted we're not making money off of this, but still.  I do really appreciate your help.

Thanks again.  I was frustrated by my issues with my CD+G Implementation but a this will save me a lot of debugging. 

--NipsMG

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #97 on: February 26, 2006, 04:58:22 pm »
Thanks for the comment.

This is why Blitz+ is a great and cheap language (for a project for mine). It pretty simple to read.

NB: One CDG command was skipped, because background transperancy was in no use.

« Last Edit: February 26, 2006, 05:15:32 pm by Space Fractal / Denmark »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #98 on: February 28, 2006, 10:20:02 am »
Ok so I have a love/hate relationship with C# and .NET in general.

Love:
Managed code is really easy.

Hate:
Managed code makes it a pain in the ass when reading binary data or trying to do fast pixel manipulation because you have to jump through hoops to do unsafe code or martial structures just to get them to map to basic binary data.

That, and I CAN'T FIGURE OUT WHY MY CD+G GRAPHICS AREN"T COMING OUT AS ANYTING COHERENT.  CD+G is a pretty friggin basic format.  and I don't know why it's been messing with me for like 3 days. :-/   

I'm going to get CD+G working in my own code, in C#.  It's a quest now.  The rest will continue once this is squared away.


nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #99 on: February 28, 2006, 11:43:24 am »
Here's a programming tip:

Reread your code when you type it.

Code: [Select]
int row = (tile.row & 0x1F)
int col = (tile.row & 0x3F)

What's wrong w/ this picture.
Now I only have to sort out colors and I'm done.

**Edit**
ok, missed another one just like it.
Graphics display. 
Colors are wrong.  Not quite sure why but it's a much less frustrating problem and can mostly be easily fixed. 

GDI+ is slow, I think Have to do directX to get this to display at full speed without skipping frames.

Once colors + timing are fixed, progress continues (CD+G was the final format I wanted to support.  Had to write my own.)

« Last Edit: February 28, 2006, 12:17:03 pm by nipsmg »

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #100 on: February 28, 2006, 12:07:04 pm »
One of those is suppose to be tile.col?

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #101 on: February 28, 2006, 05:18:55 pm »
Yep, it took me some days to made this little source code.

You may translated rgb colors is a wrong to the gdl library.

CD-G is a 16 colors system with using 16.16.16 rgb values. The values was readed in 12 bit (remember the first 2 bits is never used). Multiply it to the correct color (I did that with 17), and transperany the background color that is NOT in use (not blank), otherwice it may display very odd (in Blitz: color 0.0.0 was transperancy as standard). in BB i'm didden't use any mask,  but readed directly from a string instead. RGB values is even readed from the file with 2 bytes with this system: 00RRRRGG 00GGBBBB.

But I have not see, how you have made your color system, so I can't really help here what happens (im know java, but not c#).

See on CDG_LOAD_COL_TBL function, how I got colors to work.
« Last Edit: February 28, 2006, 05:28:41 pm by Space Fractal / Denmark »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #102 on: March 01, 2006, 08:05:50 am »
Yeah I didn't have a problem extracting the color values (I masked, converted to binary string, grabbed values, converted) but for some odd reason setting the RGB values results in weird colors. 

Not a huge fan of GDI Plus, but now that the CD+G works, I don't need to do any more with it.  It's meant to be integrated into the DirectX gui so I'll worry about the colors when I get to the jukebox display.

Progress on the rest begins today.


By the way, even though the IDE's gui sucks, Blitz+ is really friggin cool, and FAST.  You look at the source code (variant types, Basic syntax, no pointers) and think oh god this is going to be SLOW.. and it's not. Blitz+ basically wraps DX in a language that almost anyone could code in.

If you've always been scared of coding, but want an easy to learn language to play around with, check it out.

--NipsMG

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #103 on: March 01, 2006, 09:13:56 am »
CDG:
Wich songs do you have? Some songs use yellow as background, some blue and so on. But if colors display correct in both mine and yours, it should been ok (I have testet my own with a another player, when I made the player for a year ago to check it was ok).

Blitz+:
Blitz+ is really cool and fast (I came from AMOS world from Amiga), but missing some thing. Yes the IDE could been better, but it usable (Im still use that, even Blitz+ is a "command line" tool when you compile things). Blitz+ do even not require DX (like my own jukebox software), but using gadgets. I found a dll (to Dark Basic trouch) that changed the destop resoulutions to doing that.

When Blitz+ support dll (wich could been a much better, but works), I have brougt Purebasic to add some missing things (Purebasic can made dll files in a very easy way), and call them like a new blitz+ command.
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #104 on: March 06, 2006, 08:05:56 am »
Just so you guys know..

Progress is being made.  I got sick adn was in bed for a little, but also gave me a little time to work on the project.  It's just the really non-glamorous stuff right now, like the data access framework, exception handling framework, and all the base level crap that makes things run smooth, but that I can't really show any of you.

I'll probably end up doing the entire jukebox application and a windows forms test gui (that'll look like absolute crap but will have most of the funcitonality of the finished version) before i do the DirectX GUI. 

Basically I want to have EVERYTHING separated from the GUI, so that no matter what I want to use (DirectX, ASP.NET (hint, hint, might see something here), windows forms)  it's just a matter of designing the interface and hooking up the right events.

 Stay tuned.

olsteve

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 50
  • Last login:March 24, 2012, 10:33:35 pm
  • To play or not to play, that is a stupid question.
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #105 on: March 20, 2006, 05:55:21 pm »

Keep on me about this. 
I want to get this written.  I have serious ADD. I need kicks in the a** to keep moving.

Here is your boot in the a** :

Why is it when we talk to God we are praying, but when God talks to us we are put into the loony bin?

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #106 on: March 21, 2006, 09:44:04 am »
Thanks!

Final project week now for school (Trimesters !  >:(  )


Getting a new laptop by the end of this week: 
http://www.zipzoomfly.com/jsp/ProductDetail.jsp?ProductCode=265252

As soon as this comes in my productivity will skyrocket as I'll be able to code at school between classes.. SWEET!  ;D

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #107 on: April 03, 2006, 03:04:07 pm »
Ok so I finally got my laptop (yay), and I've decided that no matter how busy I am I will devote at least 1 hour per day to the project.  The amount of progress I make in that hour will vary wildly depending on what I'm doing, but that's ok it's got to be done.

Status now:

   I'm going to start on the Media File Scanning/Tagging/Logging classes.  This really is going to be the foundation of the database as without this there can be no jukebox.  There's got to be a robust, stable media cataloguing engine underneath this project so I'll start there.

   As of right now, the program will have the ability to search specified dirs, entire disks, mapped drives, and UNC Paths.  Am I missing anything else here?

   Progress report tomorrow or wed.




nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #108 on: April 04, 2006, 09:29:11 am »
Threading is fun...  ::)


Ok so I've had some fun with threading yesterday, but I did find an excellent example of fast directory searching, and found out how to browse the network for computers, and found how to enumerate a remote computer for network shares, and all without using the common dialogs (which is key, since all of the dialogs will be custom drawn), and.. it's all multithreaded and really fast, so depending on how efficiently I can extract the tag info, setting up the initial database may not take as long as I've seen it take, I hope.

I should have the database searching implemented either today or tomorrow.  From there, it's starting on the data access layer, searching, categorizing, playlists, etc.  Stay tuned.




nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #109 on: April 05, 2006, 05:56:21 pm »
Note:
 I realize some of what I'm typing in this thread might be technical, of no interest to most people, or over some people's heads, however I'm maintaining this thread not only to keep you guys informed but as kind of a development history for me, so I know my train of thought as to why I may have taken a certain path, and so I can look back if I ever need to for reference.



Progress:

   Well, I finalized the multithreaded searching.  It's nice.  It's fast.  Basically, you will select the disks, mapped disks, and/or UNC Paths that you want to search for media files (or you can just have it search all your physical disks by default), and the program will create a separate thread for each disk, and in real time update a list of files to be processed.

 Tag processing is next:

   The plan is to on each Application.Idle event to check to see if there is a Tag processing thread active.  If not, look and see if there are any unprocessed files.  If so, create a tag processing thread and begin extracting tag information and store it in the database.  If no tag info exists, try to extract it from the filename and store that data in the database.  If that doesn't work, put the filename into a "unprocessed" table, so that the user can manually either add tag info to it, delete it if corrupted, etc.  These files do not end up in the searchable database until they are manually processed.

The best thing about all of this is that the GUI will be constantly updated with status and will not hang, this is all being done in background threads.  This also allows for the option to have the program every day/week/month check for new files and do so in a background thread that will have a low priority and will not interrupt the plackback of media files in the jukebox. 

Also, for tags:
   Basically this program is meant to be a jukebox.  WHile you'll be able to edit tags through the interface, it'd be a lot less painful to use something like Tag & Rename, which is hands down the best tag management utility on the face of the planet.


--NipsMG


nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #110 on: April 07, 2006, 09:09:37 pm »
Ok so I got the multithreaded tag extraction going.  Here's how it works:

Application starts, you specify the search locations (you can pick a root, a folder, a mapped network drive, or a network location (browse windows shares, I haven't tested this with samba/linux yet but I will eventually) YES that means UNC paths!!  ;D

click "scan".

One thread opens for each search location, the program scans for files and dumps the filenames into a list of some kind (arraylist, etc).

when the Application.Idle event occurs, the application checks to see if there's a tag processing thread running.  If not, it creates a TagProcessor class instance using the array list, then  then creates a new arraylist for the search threads to dump in.  A thread is created for the tagprocessor class and started.  The tagprocessor class processes all of the tags and stores the data into the database (right now it just dumps to a listview in the test gui, but I'll be writing in batches using sql2000 or MDSE or SQL2005Express + xml). 

When the tagprocessor class is finished, it marks its thread as "ready".  on idle, the program sees no thread running, checks the list for any unprocessed files, if the list is empty exist, it exits.  If the list is not empty, it takes those, creates a new dump list, and continues until there's no more left.

So while the computer is still searching for more files, it's also processing the ones it already foudn in another thread.

And holy crap it's fast (I'm using the BASS library for tag processing).  For the same directory, it processed faster than Tag & Rename (then again Tag & rename searches THEN processes, not at the same time..).   It seems stable, except it was hanging on a 0 byte mp3 file that got corrupted somehow, if I can find that bug I'm golden.

Once I dump the data into the DB, functionality (queues, playlists, sorting, song selection, artwork display, etc) can be implemented and I can test them in the windows forms test gui.  That shouldn't take too long cause I'm really getting excited about this.   Once that's done.. it's DirectX time  :o  Never done it. This will be interesting.

When I get some demonstrable forms stuff done I'll post screenies.

Stay tuned.

bleemus

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 184
  • Last login:September 01, 2016, 12:53:24 pm
  • Party Pengo in the house.
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #111 on: April 09, 2006, 11:37:01 am »
Ok so I have a love/hate relationship with C# and .NET in general.

Love:
Managed code is really easy.

Hate:
Managed code makes it a pain in the ass when reading binary data or trying to do fast pixel manipulation because you have to jump through hoops to do unsafe code or martial structures just to get them to map to basic binary data.

I fully agree, I've been doing C# and VB .NET ASP pages for a few years now... I always say, .NET makes hard things easy, and easy things hard.
Reality is overrated.

billf

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 528
  • Last login:September 14, 2022, 05:53:05 pm
  • Why ya dog-gone crazy idgit!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #112 on: April 09, 2006, 11:44:43 am »
I always say, .NET makes hard things easy, and easy things hard.

My wife has done programming in .NET and I mentioned this line to her.  She said that perfectly sums up .NET.  She has had various choice words for .NET stuff in general  :censored:

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #113 on: April 09, 2006, 08:32:42 pm »
C# is really good for QUICK RAD stuff, web services, web design, and things of that nature.  But when it comes to systems programming, file manipulation, anything that requires a lot of direct memory access to be fast, it sucks. 

There are ways around everything however, and I'm sure there are fast ways to do all that stuff, but it's not intuitive.  However you can expose .NET Assemblies as COM to use from unmanaged C++, but god knows how badly that slows your code down.  I'm going to try to do ALL of this managed, and we'll see what happens.  If it gets too tedious or too slow, I may have to take the unmanaged route with most of it.

However Managed DX9 and DX10 are supposed to be pretty friggin fast, so who knows. 

--NipsMG

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 17, 2025, 11:04:07 pm
  • The Bears Still Suck!
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #114 on: April 10, 2006, 12:03:39 am »
I always say, .NET makes hard things easy, and easy things hard.

My wife has done programming in .NET and I mentioned this line to her.  She said that perfectly sums up .NET.  She has had various choice words for .NET stuff in general  :censored:
As with any programming langauge, that's why they all exist.  They have their good points and bad :)

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. ***Possible Release Date?!***
« Reply #115 on: April 12, 2006, 04:21:58 pm »
Well, an interesting turn of events has occurred.  As part of my degree studies I enrolled in an Object Oriented Design and Architecture class.  Turns out, the class is more of a Project type class.

7 teams of 4 were picked, and I was assigned to a team as team leader due to my past performance in the professor's class.  We are allowed to write anything we want.  Guess what I picked?

Plus side:  This HAS to be done in 12 weeks, and I have 3 other coders to work with me on this.

Down side: They only know Java, and it looks like we'll be forced to do it in Java, and Java is not my strong suit, C# is.

  Granted syntax wise they're similar if not identical, however the packages, frameworks, and SDK's used to accomplish things are very different and there will be a steep learning curve on my part unfortunately, and I really wanted to do this in C#, NOT Java.  Speed is a concern.  I wanted to learn/use DirectX.

  However, one way or another, we have to get at least a scaled down portion of this project presented in class by the 12 week deadline.

So .. right now, it might be a safe bet to look for a release in one form or another by:
July 3, 2006.  ;D

I don't know if you guys will get the Java release, or if I'll be parallel developing in both languages, or what, so who knows, but you should see something.

Granted I'll need to get permission to distribute this from my teammates, but I don't foresee it being an issue as they'll be given credit for any code they write.

I'll keep everyone informed.
 :applaud:

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. Submit Your ...*art added*
« Reply #116 on: April 19, 2006, 08:41:49 am »
Ok so even though this is a "student project", it's being treated as if it's a commercial app so I have to be very careful to not "directly imitate" a commercial product's interface. (granted I plan on this being skinnable in the final version, but the "School project" version will be the first skin..

I'm toying around with interface layouts now.  Here's an idea:



Comments, criticisms?
« Last Edit: April 19, 2006, 08:43:24 am by nipsmg »

eist1

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:September 30, 2008, 02:38:59 pm
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #117 on: April 19, 2006, 10:19:13 am »
This looks very nice... I am currently using a touchscreen, and this is very clean and simple. I was just wondering if the filter option would allow you to choose a genre and only that genre will be able to be searched through? That would be very nice, seeing I have over 1100 albums, and searching through albums of just rock or country would be much quicker. And maybe a Random Play button also using genre, so you could play unlimited songs randomly from one genre. Also, would you be able to put the album name under the artist name. I hope the search screen will have large enough buttons for touchscreen users. Some of the other jukeboxes don't make using the online keyboard very easy. Just some ideas, but a very nice start. Keep up the good work.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #118 on: April 19, 2006, 11:21:18 am »
Yeah, the filter screen will allow you to filter by up to 4 filters at a time.  These include by Genre, Year, Rating, Artist, Album, Etc. 

Interface will be VERY non complicated and intuitive.  Don't worry.

This is being tailored specifically for touchscreen input, and I have a great idea for input fields and the on screen keyboard.  I'm keeping it under wraps for now, but it will not be disappointing.

This project has been "Vaporware" for a long time due to Real Life constraints.  Now that real life is FORCING me to complete this, it'll get done.  I'll keep updating.

--Michael Gerety

GadgetGeek

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 414
  • Last login:July 09, 2024, 09:32:57 am
  • whatever
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #119 on: April 19, 2006, 12:34:21 pm »
Will album name be displayed anywhere, or just artist name?  Or maybe Album name instead of artist name?

OK, maybe I'm starting to age...replace all references to album with CD.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #120 on: April 19, 2006, 05:34:56 pm »
Not sure on that one yet.  Most likely the album name will be displayed below the artist name in a font with a lower alpha value.

eist1

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:September 30, 2008, 02:38:59 pm
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #121 on: April 23, 2006, 01:42:03 am »
nipsmg,

Would you be able to have the album cover image, album name and song info pulled from the ID3 Tag? I have been trying to find Jukebox software that would do all of this, because I am trying to use my IPod as the storage device for my music library (all songs on IPod are in MP3 format). I have successfully used Freebox Jukebox to get the album name and song info from the Ipod, but the last thing needed is to get the embedded ID3 album art. If you could add an option to use first image file found in folder, or use ID3 embedded image file for album art, that would be awesome. I just imagine putting the IPod in the cradle, and bringing up the Jukebox software to control it. Then you would have the same music library in the car as at home, or if you get an 8" touchscreen monitor like I have, you could even use it in the car, what would be better than a fully functional touchscreen jukebox in the car. Just some more ideas, hope it's possible. Thanks

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #122 on: April 23, 2006, 12:40:53 pm »
The original plan was to grab the image from the ID3 tag and save it to the directory the album was in during disk scan, then store the location of that file for later use, but that could work too.  I'll look at it.

eist1

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:September 30, 2008, 02:38:59 pm
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #123 on: April 23, 2006, 07:08:36 pm »
Yes, on the IPod the files are in its own type of directory structure. But the ID3 tags are on each file, so the Album Info, Song Name and Album art can be extracted out of them, but there would not be a folder to load the image. Thanks for looking into it, looks like this will be very nice.

eist1

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:September 30, 2008, 02:38:59 pm
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #124 on: April 24, 2006, 10:48:55 am »
NipsMG,

It would also be nice to have the option to use the file that is already in the folder. Currently I have all 500x500 images in each folder on my PC jukebox that I copied myself, so when the album art is enlarged after choosing it, it still looks good (But on the IPod it needs to pull the image from the ID3 Tag). So maybe having the option to choose which way you want to find the art would be good. I hate to have my current art files overwritten with lower resolution. Thanks

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #125 on: April 25, 2006, 08:28:42 am »
Ok just so the artwork flow is understood it goes like this:

If there's an embedded image in the ID3 tag, we use that.
If there's a file with the name <albumname>.(jpg/png/gif/bmp) in the directory, we use that.
If not, we do a web services search for the image and store it in the directory using <albumname>.jpg. 

If none of these exist, the jukebox will display a file called noart.jpg.

eist1

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:September 30, 2008, 02:38:59 pm
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #126 on: April 26, 2006, 01:44:58 am »
nipsmg,

Do you know if the image quality is the same after adding it from a file to the ID3 Tag? I have associated all of my current images to the ID3 Tags of all of my files. The images I used were 500x500. I was wondering if when adding them to the ID3 Tag if the quality gets worse or if it will stay 500x500. If it does retain the original quality, then it wouldn't matter where it pulled the image from. Thanks

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #127 on: April 26, 2006, 12:10:11 pm »
I'm 70% sure that it doesn't change the size when going into an ID3 tag.

I'll know for sure in a few days.

eist1

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:September 30, 2008, 02:38:59 pm
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #128 on: April 28, 2006, 05:54:25 pm »
Will each album have to be in separate folders? What if there is a list of songs, will the jukebox read the ID3 Tag and group the songs per album? Windows Media Player does this now. I was wondering, because on the IPod, each song is technically separate, but Windows Media Player reads each ID3 Tag, and shows it as one album, when looking up songs by album name or artist. Just something else I was wondering about. Can't wait to see the first generation of this jukebox.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #129 on: April 28, 2006, 06:40:48 pm »
As of right now, that's undecided.  don't forget, the first release will be a scaled back "school project" version, or a version that I have coded alongside of it.  There's only so much we can implement in a limited period of time, and being that I'm working full time (50+ hrs/wk)  and taking 3 classes this semester, time is limited.

We'll see what happens with it in that time.  We have to have project plans into class for assingments, so once we have a solid requirements list, I'll post feature sets, and those WILL, WITHOUT QUESTION, be implemented.  I want an A.

--NipsMG

squirrellydw

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1584
  • Last login:April 12, 2021, 11:30:22 am
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #130 on: May 19, 2006, 09:41:12 pm »
any updates on this??
I b**ch. People listen!!

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #131 on: May 21, 2006, 11:09:48 am »
Yeah..


     As I said this transitioned to a (group) class project for school, so THAT is actually what's holding this back.  We had to go through the ENTIRE design phase again, document everything, and we have to turn in weekly work, so jumping ahead really isn't an option.  We just recently finished requirements gathering phase and are really now getting into the design/development page.   Project is due end of june, so something will have to be presentable.
 
     What I do know about the "school" version of the jukebox engine:

     What it has:

     MP3 Only (this is easly changed, don't fret).
     Network Support (UNC Paths)
     Skinnable (to some extent)
     Built in tag editor
     DirectX Interface
     Customizable "Attract modes" (much like commerical jukebox products)
     Filterable album list
     Searchable
     Statistics recording
     Top 10 (total, by genre)
     "new" songs feature
     

     What it doesn't have (but probably will in later non-project versions):
     Video
     wma/ogg/aac/flac
     MP3+G (karaoke)
     advanced skinning


Also, the school project version has a new name..  I'm reserving whether or not it will be released under that name.
     

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #132 on: May 21, 2006, 12:14:09 pm »
hm? Did you not to get CD-G to work, after you saw my source code?
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

squirrellydw

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1584
  • Last login:April 12, 2021, 11:30:22 am
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #133 on: May 21, 2006, 01:35:40 pm »
great, make sure you get the acc in there :)
I b**ch. People listen!!

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #134 on: May 21, 2006, 10:14:46 pm »
Space Fractal: 

I did get CD+G to work.  However it wasn't part of the design of the "school project" version.  It was outside the scope of the project.    It's definitely going to end up in the jukebox, just not the initial version.

I have the source code for it, all I need to do is adapt it to paint to Dx instead of a normal GDI bitmap object.   Easy enough to do, don't worry.

--NipsMG

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #135 on: June 28, 2006, 03:22:26 am »
Here we are a couple of days away from the end of june, when will you make a release?

olsteve

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 50
  • Last login:March 24, 2012, 10:33:35 pm
  • To play or not to play, that is a stupid question.
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #136 on: July 03, 2006, 12:16:17 am »
Project is due end of june, so something will have to be presentable.     

So.............................present
Why is it when we talk to God we are praying, but when God talks to us we are put into the loony bin?

oznetradio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:August 03, 2010, 12:20:36 am
  • I want to build my own arcade controls!
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #137 on: July 06, 2006, 12:42:41 am »
Yeah! You've been stringing a lot of us along for some time now with this project.  :hissy:

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #138 on: July 06, 2006, 02:56:26 am »
REMOVED
« Last Edit: July 06, 2006, 06:49:21 am by Barcrest »

olsteve

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 50
  • Last login:March 24, 2012, 10:33:35 pm
  • To play or not to play, that is a stupid question.
Re: Starting coding on Touchscreen jukebox. ***Possible Release Date?!***
« Reply #139 on: July 10, 2006, 02:14:52 am »

  However, one way or another, we have to get at least a scaled down portion of this project presented in class by the 12 week deadline.

So .. right now, it might be a safe bet to look for a release in one form or another by:
July 3, 2006.  ;D

,,,,,,
I'll keep everyone informed.
 :applaud:
Why is it when we talk to God we are praying, but when God talks to us we are put into the loony bin?

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #140 on: July 11, 2006, 12:23:23 pm »
The presentation was done on July 5, 2006.

Did it work?  Yes.
Was it pretty?  No.

I had to fake the interface with windows forms.  It turned out that due to the abilities (or lack thereof) of my team I was forced to do 100% of the development. 

I do have an "image button" type of implementation but I did not have enough time to use it for the "function" buttons, so I threw windows buttons in there just for the presentation.  This was an Object Oriented Design class, so the grade was based on the design, not the implementation.

So here's a quick shot 2 screens that exist right now.  Yes they're ugly (due to the windows controls, etc).   YES that's easily fixed.

Main Screen:


Song Selection:


However, the engine is written and it works.  I am retooling it (I think with GDI+ first) into a simple form that I will distribute here.  Whether or not I will continue on it is still up in the air, but I will release something.

Here's the basic features:
  • MP3, WMA, Ogg support
  • Fast, multithreaded disk search/tag processing
  • sql Server 2005 Express Database backend
  • "AutoPlay".  When no song in queue, the computer will randomly select a song from the genre(s) you select on startup as "autoplay"enabled, weighted based on popularity/number of plays.
  • Filter albums by genre
  • Song Search by Genre, Year, Album, artist, Title, Etc
  • Retrieve Top 10 songs
  • "Recently Added/New Songs" feature

I have some schoolwork to finish up this week then I will be starting on it next week.  Keep it here for updates. 
--NipsMG

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #141 on: July 11, 2006, 12:32:41 pm »
I see there were some inflammatory posts made here towards the end, including one that was removed that I missed that I can only assume was inflammatory...

Realize this.  I do not know everyone's situations here, but I work FULL TIME as an IT Manager, and am taking 3 classes a semester.  On my schedule, I leave my apartment at 7:00AM and get home no earlier than 9:00PM every weeknight due to work, and school in the evenings afterwards.  I am also in a band (www.funnelrocks.com) and have gigs almost every weekend.  The remaining time is usually spent doing homework or attempting to salvage what's left of my social life after this rediculous schedule.

I've got a small 3 week break in the summer from classes (only taking one on Monday nights) and had decided I would release what I was doing for the benefit of those this community.  However if I start getting insulted or demands start being thrown I'll take this back under private development. 

I'm doing this for the fun of it when I can, however my schedule is friggin rediculous, so my spare time is very little.  I can guarantee you that comments like that will definitely do nothign to help get this out into the public.  I will continue updating these threads with status information only if I don't start getting loads of crap for it.  If that's the case, I'll post NO status, update it on my time, and possibly (make it probably) won't release it to this community.

I also will not make the mistake of putting a date on anything again.  The next release and status update will be posted when they are ready, no sooner.


Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #142 on: July 11, 2006, 04:04:29 pm »
Dude i removed my comment out of respect for you...

However following your last post i'll update you, The reason people are a little pissed is as follows;

1/ You came on here and slagged off all the other jukebox programs for using windows forms and controls and basically being crap. (What you have shown after a year is windows forms and controls...)

2/ You set the deadlines yourself and promissed this well over a year ago, it was going to be all signing all dancing directx and blow the other jukes away. (It's been over a year and we have nothing)

3/ You promissed so much then kept cutting back on features with each infrequent post. (Get peoples hopes up then don't deliver).

Now i am not having a go at you here just trying to explain why people might seem a little peeved. As for your busy social life, if you are that busy maybe you shouldn't have taken this on or at least not announced this all singing all dancing app back on here over a year ago with a less than friendly attitude.

F.Y.I. I work fulltime in I.T. support (I am the only guy there and manage the whole system from the 5 servers down to the 200 workstations and 50 or so laptops along with all the infrastructure). So i'm not sitting on my backside working on freebox 24/7 and to be honest it's lucky if i get an hour in a day on it.

Maybe you need to take your time and just announce something when it's ready without specifying any release dates and putting preasure on yourself.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #143 on: July 11, 2006, 05:08:59 pm »
Barcrest,

   I think yo might want to go back back and read the beginning of my thread again.   You might want to read the first post, and especially the part that says "Disclaimer:".   I was giving my opinions about what I think could be improved on some of the current projects out there.  I didn't mention anyone specific.  There are some that have some of the features I wanted, some that have others, none that have all.  Thus the reason for writing my own.  YOU are the one who decided I was "slagging off", almost everyone else understood where I was going.  Also later in the thread I agreed that there are some that use DirectX/GDI+ to draw (PCJukebox) and that YOUR jukebox specifically was pretty advanced and probably had more functionality than I was going to add.

As for your points:

1:  Read above

2:  The "deadlines" I set were explained.  When not met, they were also explained.  I haven't taken orders for this, I don't have investors, I haven't promised anything. 

People give missioncontrol a hard time in a joking manner about his cabinet because it's taken FOREVER as well but you don't see them attacking him.  He isn't being accused of "Stringing along".. He was smart and didn't set goals for himself publicly because maybe he knew that this kind of response would happen.  As I said in my post I will no longer give dates.  Things will be released when ready. 

Also, I never once promised "Dancing directx" or "blowing other jukes away" and I challenge you to find that statement.  I will actually find the threads where I state that other jukes I've seen are VERY advanced and have TONS of features that i'll probably not get around to implementing.  All I said was that I wanted to get away from windows forms.  I wanted a bitmapped, animated (if possible) gui.  I wanted subtle effects on buttons (glowing/pulsing).  I still do.  I still plan on it.

3.  I didn't intentionally cut back on features.  Since this was to be written as a school project, I had to reduce the scope for the design portion as i was responsible to my professors for use cases, interation plans, domain diagrams, UML diagrams, etc, a lot of which I would not have documented so thoroughly if I were just doing this privately.  This extra work took up a lot of the time I could have been developing, therefore this "college" release was meant to have a reduced feature set and be an initial "alpha" release.  This was clearly explained.  I did not promise "Features a, b, and c" then not tell anyone and say "I'm done look! " and only give feature A.  In fact.. I haven't relased at all.

Also, I was assigned to a team of students who were presented ot me as needing "some guidance".  They in fact ended up having almost 0 development experience, so instead of getting a 3 person development team I was cut to a 1 person team, and did 100% of the implementation work.  The original plan was to design the backend, have them code it, and I would spend the time to write the DirectX or GDI+ frontend.  I found out midway throught he project this was not going to happen and plans changed. 

I also had no "Requirement" to present anything graphically.  I instead showed screenshots to prove the engine DOES work, coding HAS begun (and is actually finished for everything but the GUI on the first iteration of the project).  And to show some progress.  Yeah, it's a forms gui.  Again, as I explained, it was a temporary fix to show something for class.  I never claimed it to be complete or to be the final GUI.

So I will reiterate as I did in my last thread, I will not put a date on anything, and will update with progress and a release when they are ready, not before. I have said from the beginning this project is for me first, others second.  And as such, when I have time to do it, I will.  And if I decide to release it I will.







nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #144 on: July 11, 2006, 05:13:20 pm »
REMOVED (dupe)
« Last Edit: July 12, 2006, 07:50:57 am by nipsmg »

kevink

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:November 30, 2006, 06:33:38 pm
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #145 on: July 11, 2006, 08:40:00 pm »
I'd just like to chime in here and say that anything these programmers write and put out there for people to use freely is very commendable.  Even if I had the ability, I doubt very much that I would consider what these folks do.  It must take an unGodly amount of time to get these programs working and bug-free on the different configurations people use.  Then come the "Requests".  Give me a break.  I know most of you appreciate the input to an extent, I just think Joe User doesn't realize what they ask sometimes.  Sorry, I don't want to run this thread off topic.  I'd just like to thank all you programmers for making this hobby one of my favorites and nipsmg, don't kill yourself with this thing, take the time you need.

Barry Barcrest

  • I'm only in it for the lack of money
  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1620
  • Last login:November 09, 2021, 09:54:17 am
  • Simple Plan
    • E-Touch Jukebox
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #146 on: July 12, 2006, 04:58:20 am »
This is why i removed my comment because i knew you would be like this... I seem to remember Chris of Doscab/Wincab getting involved when you first came along slating other jukebox apps. Comparing your software with a cab missioncontrol is making is ridiculous, he is not making that cab for us all to go and play with. However your software was going to be made availble to all. Anyway i'm not going to bother getting involved, Good Luck and all the best with your project.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:July 11, 2025, 12:17:29 pm
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Starting coding on Touchscreen jukebox. *release date?? & Art!!*
« Reply #147 on: July 12, 2006, 07:54:43 am »
This is why i removed my comment because i knew you would be like this... I seem to remember Chris of Doscab/Wincab getting involved when you first came along slating other jukebox apps.

"be like this...".   I will always "be like this.." and defend my position, especially when my words are being twisted.

As far as Chris, he did get involved and informed me his was indeed not windows controls.  I agreed and said I stood corrected, and again said I was not targeting anyone's projects and was just making a statement of my preferences.

Thanks for the well wishes anyways.