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 45610 times)

0 Members and 1 Guest are viewing this topic.

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:Today at 03:37:24 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:Today at 03:37:24 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:Today at 03:37:24 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:Today at 03:37:24 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:Today at 03:37:24 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.