Virtual DJ Studio

General Category => General Discussion => Topic started by: Justin on August 19, 2013, 06:11:17 PM

Title: Busy as heck working on 7.0...
Post by: Justin on August 19, 2013, 06:11:17 PM
So I've been busy working on several aspects of Virtual DJ Studio 7.0, researching UPnP protocols and VPN/PPTP, along with a million other things... so I took a break to make dinner, and I looked at my computer and saw the attached. I've never had so much going on at once! Luckily this HP handles it like a pro, but it just looks insane - 14 Chrome tabs open, my development environment, a couple Notepads, VDJ itself, two terminals (one logged into my web server, one my home Linux computer), and of course Windows Calculator :)

And the installer for an Android phone I'm working with to perfect the app... thanks Fabio!

Notice all the m3u playlist files in the Download bar... I've been trying to resolve an issue where Android won't play back the "preview" in the app, rather it wants to download it. Unfortunately it won't open it from an m3u or pls playlist file, so that effort was moot...

Anyway, just wanted to update you guys on the progress so far. The app works great, with two issues:

1) I really want to NOT have to require port forwarding; hopefully UPnP will solve this... hopefully...

- and -

2) Doesn't seem like Android likes to stream MP3 files, without some app installed to handle them. The built-in player just won't do it. Only option would be to convert them to .flv (flash video/audio) files, and that's far too much CPU load on your DJ laptop...

I kinda figured mp3 was so well known and popular that any device should play them w/o problems (the iPod/iPhone does). Not sure why but Android doesn't like streaming them.

I'll figure it out eventually... I'm sure...


[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 19, 2013, 06:56:23 PM
No problem Justin :)

regarding playing mp3s in Android browser, I found the following:

http://stackoverflow.com/questions/10900816/playing-audio-with-html5-in-android-browser

Towards the bottom of the post you'll see the following code:

Code: [Select]
<audio id="audio1" controls="controls" loop="loop" autoplay="autoplay" >
   <source src="scene1.mp3" type="audio/mpeg" />
   <source src="scene1.ogg" type="audio/ogg" />
</audio>

I'm not sure if it will help but what the heck...it might.

Also, I'm thinking it might be browser related.  When you get a change get the search back on and I'll test it with different browsers from my end.  I have the built-in browser, Firefox, Chrome and Dolphin on my phone.

-Fabio



Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 19, 2013, 07:07:24 PM
I hadn't even thought of embedding the preview as a "background audio" - the whole idea of background music in a web page went out in like 1998 or so... but that might possibly be a solution - load up a page with the song name displayed, and the audio going in the background!

As for it not showing controls etc, not a problem, we're only giving you 20 seconds anyway. I'll do some tests in the morning.

Quote
When you get a change get the search back on and I'll test it with different browsers from my end.

Done and done. For now I just reverted to it downloading the MP3 (which streams on iWhatever)... but I'll leave VDJ running overnight, as I'm about done coding for the day. Time to watch some Law & Order, throw back a couple, and get some sleep :)

That is, if I can put the DroidX down long enough lol...
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 19, 2013, 07:08:34 PM
By the way, as you're probably aware, Flash is a dying technology so going that direction just to play mp3s is probably not a good idea. Besides the fact that you'd fix it on Android but will break it on iOS.  Even on Android since version Jelly Bean (I believe), they stopped supporting it...luckily you can still side load it, but only certain browser will still support it.  For example FF on my Galaxy note 2 does support it, if installed, but Chrome completely ignores it.



Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 19, 2013, 08:37:53 PM
Good information. I'm not all that big on mobile technologies, and I had no idea Flash was a dying technology... Youtube videos are all streamed as FLV flash videos, so I thought that was here to stay...

I certainly don't want to break support for iOS, so I'll have to do some trial & error to make sure the app supports as many platforms as possible. Note that this really only affects Preview, which I don't think is all that critical - the rest of the app is a combination of HTML5, CSS, and JavaScript, all three of which are supported on almost every platform out there.

I have to admit, using the DroidX with WiFi and my Hulu Plus, I'm just having fun right now. Not to mention, it's a full Linux box in my pocket... I've already installed a terminal emulator, and an SSH server that allows me to log into the device from my laptop... but that's the Linux geek in me :)

Having this much insight into the device also helps me understand it - it's just that with the preview function, it really will depend on what browser they are using. I think I'll target the default browser mostly, but I'd like to know it will function on Firefox, Safari, Chrome, etc...

The rest of the app, aside from song preview, works just fine on all browsers on all devices I've tried. And that's really what it's all about - being able to submit requests, text messages, etc. My real concern right now is the ability to use UPnP to not require port forwarding in the router. Note by the way, Android supports UPnP natively and easily, eg, streaming video from my MythTV DVR from remote locations. If they can do it, certainly VDJ can do it. MythTV is all open source, so one way or another I'll figure it out... My MythTV box is behind the same NAT router as my laptop, and it can be accessed from my friend's house with seemingly no problems. So there's no reason my laptop (and anyone's laptop behind any NAT router) shouldn't be accessible from the outside as well.
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 01:51:22 AM
Quote
Youtube videos are all streamed as FLV flash videos, so I thought that was here to stay...

Actually they're in both FLV and mp4...for example iPhones and iPad play the mp4 version since iOS doesn't support flash since Steve Jobs decided they were not going to support it...in some way his reasoning was correct but I thought they should have supported until it was replaced html5:

http://www.apple.com/hotnews/thoughts-on-flash/

http://www.geek.com/news/adobe-release-their-own-html5-flash-replacement-app-called-edge-1408181/

If you think DroidX is great you should try my Galaxy note 2 with larger screen dual (front and back) camera and greater capabilities with Android 4.1.2.

As far as the preview it works fine as long as pick your default player such as the Google Play Music app.  You can use any browser.  In fact, with the default browser, you only have this as your choice even if you have other players (I Have MixZing and a beta version of the VLC player). 

In my version of Android the default browser is just called "Internet" in the DroidX I believe it's just called "Browser".  The "internet" version feels a lot closer to Chrome than the "Browser" version.  On my version everytime you select a preview it will display a window to "Choose an Action" every time you pick a song to preview regardless of what you picked previously.  After that it will play the same in all browsers, with a small white band on top of the browser (Chrome, Firefox and Dolphin).  Again, you do have to pick a default player on the other browsers but after that it won't ask you what player you want to use, it will just play as soon as pick the song you want to preview.  The only difference I've seen is that Firefox downloads the file first. I can tell by the status bar on top...where as the other browsers do not download the file...if they do they're hiding it from the OS as nothing shows up on the status bar.  My suggestion would be to pick the Google Play music app...which I believe is the default anyway unless the user has downloaded other apps.  The only problem with picking other apps is that they take over the interface (full screen) whereas the Google Play music app does not  you still see the VDJ web app in the background.





[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 01:55:11 AM
I forgot to mention...on the basic browser picture you see the Google Play Music app and the INTERNET (which is the basic browser).  If you pick INTERNET it will simply download the file and will not play it.  You will have to manually play it.
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 04:34:29 AM
Quote
Actually they're in both FLV and mp4...for example iPhones and iPad play the mp4 version since iOS doesn't support flash since Steve Jobs decided they were not going to support it...

I forgot about that, YouTube actually had to accommodate the iPhone by offering it in mp4 as well, due to the dispute between Jobs and Adobe... speaking of which I just watched the trailer for the Jobs movie starring Ashton Kutcher... interesting...

As for the player, I'm just learning Android, and I guess most people who have such a device will have already taken care of a "default player", switched browsers, etc... so I think I'll leave it as just a straight MP3 preview. It's really the simplest way to implement it. I don't do any decoding/re-encoding, I just determine (based on bitrate) how many bytes = 20 seconds, and skip past the ID3 tag (so they don't get cover art, etc), and send out the data directly from the mp3 file.

The KISS principle is always a good idea :)

Looking at the log file, you've been busy while I was asleep :)

Once I fully wake up, today I'm going to tackle UPnP head-on, as that's the next hurdle to making this thing work really well without the need for port-forwarding. It would be one thing if my program were intended for use at home, but the vast majority of my customers will be using it on some bar owner's WiFi and won't have that kind of access to the router...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 07:56:47 AM
This might be a dumb question, but how do you take a screen shot on Android? That might be handy for marketing when 7.0 is released...
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 09:52:21 AM
Unfortunately taking a screenshot is not that easy on the Droid X without being rooted you can follow this:

http://www.droid-life.com/2010/07/22/how-to-take-screenshots-with-the-droid-x/

or they do have paid apps that will let you do this without being rooted.

On a Galaxy note 2 there are three ways to do the need to root and without having to buy an app.

Home and Power button at the same time (I believe it's the same as the iPhone and most Android devices after 4.0), Hand Swipe gesture over the screen and the S pen gesture.
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 09:54:59 AM
I just found a free app to screenshots without the need to be rooted...woo hoo!

https://play.google.com/store/apps/details?id=com.icecoldapps.screenshotultimate&hl=en

Hopefully it works with the Droid X

Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 10:46:31 AM
Yeah, I tried that one, doesn't work without root. So, I figured I was gonna do it anyway at some point (can't ever leave well enough alone) so I rooted it :)  I thought I had "bricked" it at one point but it's simple enough to re-flash the original, signed Verizon ROM and then proceed to root it. So I have Android 2.3.5 on here now, with superuser privileges :)

Oh, and I can easily take screenshots now.



[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 12:56:15 PM
Quote
Yeah, I tried that one, doesn't work without root.

Lier, lier, pants on fire...yup, I just tried it just for kicks...on my other DroidX and and it asks for root access.  I have a second one I use on my desk at work as desk/weather clock.  This one is already rooted and does have a valid ESN.  I didn't send it to you because I dropped it and damaged the screen (see two large dots on attached pics).  I figured since you were going to use it for testing anyway it was probably best to have the better screen.  These dots seem to have gotten larger over the time too.


[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 01:03:32 PM

Speaking of port forwarding using uPnP.  I found the following java app, I'm not suer if it helps you, but it might at least give you some idea.

http://www.howtogeek.com/122227/how-to-quickly-forward-ports-on-your-router-from-a-desktop-application/

Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 02:08:58 PM
Yeah, I would definitely opt for the better screen over being able to activate it. For what I need it for, and the reason you sent them to me, this one is perfect. There also might be a way now that it's rooted, to make it into a Tracfone... Tracfone uses CDMA just like Verizon, and with some hacking it seems it can be done (I currently have a crappy LG Tracfone, would love to somehow mimic my EIN/whatever so I keep my # and get to use the Droid :) ) But that's not the point of this, and I have accomplished a lot thanks to the Droid.

I've been too frustrated with UPnP today, but I'll check out that link. In the mean time, to take my mind elsewhere, I added a QR code generator into VDJ. It's not completely perfect yet, but so far by default, it creates a QR of the IP URL for local use. I have to make it where you can set it to a vdj.net URL and save that.

It works though - and very nicely. I think I'll add an option to also include ?passcode=1234 with whatever passcode is currently set, so if you have it up on your screen, or you just want to print it out real quick before each gig, you can quickly do so from within the program. I like the screen idea, as I would personally (for non-Karaoke gigs) bring the monitor for just that purpose. The background image would be the QR code, and the text would just say "Scan with your Smart Phone to Make Requests". No typing, no nonsense.

I'm just using the included "ScanLife" app on the Droid, seems to do a sufficient job.

(BTW, did you know that Motorola paid George Lucas for the right to use the word "Droid"? Just like Apple has trademarked "There's an app for that"...)

Note that if you scan the QR in the attached pic, it'll take you to "http://192.168.1.101/"...

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 02:28:14 PM

I tried to look up the info to transfer the ESN from the one with the bad screen to this one before I sent it, but the info I found was little bit beyond me, so I figured I'd just send it that way.  Maybe you with you programming expertise can do it. My understanding is that if you know someone at one of the other CDMA prepaid companies you might be able to activate it as is.  I think  Metro, Cricket and Virgin mobile can activate it.

Quote
BTW, did you know that Motorola paid George Lucas for the right to use the word "Droid"?

yeah, Verizon even had an R2D2 version with Star Wars theme and even the back of the phone had an R2D2 graphic:

http://www.amazon.com/dp/B004H4XGH4/?tag=hydrawireless-20

The geek side of me, really liked it!  ;D
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 02:33:39 PM
Well, it seems I was getting the same error with the Java app. Then I reset my router (which is built into my modem) and suddenly the Java app works, showing port mappings of other programs as well. This is nice, just to be able to see what's being mapped.

So VDJ's UPnP code is still throwing errors, but different ones. With a little work I should be able to get it working internally. I didn't realize my router needed to be reset - possibly from me playing with UPnP and VPNs so much, it just needed to start fresh.

Now that I know this, that will be the first recommendation for users if the UPnP isn't working (once I get it actually working) - Reset the Router. Even without passwords etc, I don't see why a bar owner wouldn't let you quickly power-cycle the router/modem...

So it's really, really coming along now. I'll have VDJ automatically determine if it's world-accessible via vdj.net or not, and generate the QR code accordingly. I think when it's shown on the screen as the main background, I'll put the URL that is encoded underneath it, so there's no confusion as to where it will take you.

I still like the "2 singers w/pic + QR" idea too... will work on that and post a screenshot tonight or tomorrow.

--

You posted while I was typing (Love that SMF warns you about that). Yeah, the transferring ESN or whatever is difficult, and not something I'm going to mess with right now. Last thing I need to do is brick this thing before my app is done ;) For now it's just a way to test the app, and watch South Park on Hulu Plus while I'm taking care of... let's just say my morning routine  ;D

PS - just remembered I have a good Netgear lying around (don't use it anymore since the new Comcast modem has built-in WiFi). I might try with that and see if I get different results and/or different error messages... will help in the troubleshooting of this UPnP nightmare...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 02:41:28 PM
Okay now my mind is totally on UPnP. One interesting thing is that my Linux box (DVR) uses UPnP so that, if I had, say, an Android device, I could watch my shows, schedule recordings, etc from literally anywhere in the world. Also uTorrent uses UPnP, and its mappings show in that Java app. So I know this is all very much possible, and in common use. The code to make it happen just isn't easy to come by.

So like the others, once I figure it out, I will keep that code to myself... software is a dirty business lol :) But I'm confident that within a day or two I'll have this working, and gone will be the days of logging into the router and forwarding ports.

I was thinking that *maybe* I can have VDJ listen both on port 80 (for local use) as well as some random high port (for vdj.net server). My thinking is that the DJ himself might want to use the app too, and it's a heck of a lot faster (plus no ads) when you are on the local network. It's no big deal to bind to and listen on two (or more) ports simultaneously.

Good pointer on that Java app Fabio - even though I won't use it as a "middle man" to set up the forwarding, it's proven to be a very useful tool in troubleshooting my own UPnP code.
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 03:19:33 PM
Quote
I still like the "2 singers w/pic + QR" idea too... will work on that and post a screenshot tonight or tomorrow
bottom

You can also do a 5  or 6 singer list (no pic) with QR.

Or what would be best is to generate it on the lower right corner (or left) of the screen as part of the bottom note...or maybe you can add a variable on the note so it can be placed anywhere (top or bottom).  This way it's always on the screen while people are singing, they don't have to wait until the end of the song.
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 04:01:08 PM
I think if we put it in with the text, it would end up being too small... they'd have to get right up on the screen to get a good capture...

I always have my laptop hooked up to my living room LCD TV as a second monitor, so I can play around with this and try to find what works. I could possibly use the lowest-resolution format of QR code, which is only 21x21 pixels, and *should* be compatible with any device with a QR reader (they go as high as 141x141 pixels; think UPS package labels)... so that could be scaled to, say, double (to account for any re-sizing done by the monitor) making it only 42x42... I was settling on 25x25 as it has a bit more error-correction embedded in the code, making for less false-positives.

I'll play around with it after I figure out this UPnP thing. I'm finding myself having to reboot my router quite often - I hope it's only because I keep attempting to map a port and failing... once I get this working hopefully that won't be an issue.

Now that I think about it... if you are on a 16:9 TV, and you are set to maintain 4:3 aspect for  Karaoke... it could be on the unused "black bar" area of the screen... let me experiment a bit. I'll post a few screenshots and let you guys vote on what you think is best (or, make several options available).

As for the "text only" upcoming singers, with QR on the screen underneath - I like that idea as well... so many possibilities. I just don't want to have an entire options screen with a hundred ways to show the QR code, causing confusion to the DJ... so I think we'll find a couple or three "best" options, and let the DJ choose from those.
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 06:07:37 PM
After a couple more hours fighting with UPnP, I find out that it is actually implemented in an API in Windows XP and up, that is available to both C++ and VB6... it's just not well documented (the sample VB code provided is for ASP.NET, eg, web server apps... who the heck would run a web server on Windows???)

Anyway, I'm running into yet another problem with the fact that I am still using Visual Studio 6.0, circa 1998. Why? It's what I wrote VDJ with (a hybrid of Visual Basic and Visual C++, along with some good old 'C'). When they did away with VB6, they provided no migration of your code from VB6 to .NET, circa 2005. Because apparently any code that is 7 years old is no longer valid. So I've been stuck using the same, 1998 development environment unless I'm willing to completely rewrite my program - which is 15 years in the making. 15 years of working around various Windows quirks, coming up with ingenious hacks to make things work the way I need them to, and so on. 15 years of finding inventive ways to utilize new Windows features in an out-dated development environment.

I'm not about to try to rewrite it in a new language, and attempt to re-implement every little thing I've done, hoping for a bug-free and functional program...

So, my little setup works. I can't read the help files (Windows no longer supports WinHelp files as of, say, 2003) but it's all online somewhere. The compiler tools still work and most likely will for the foreseeable future. But any time I find sample code, it's always for VB.NET or C#, neither of which I have any intention of learning. The vast majority of my code is in plain-old C.

Notice, by the way, that on any other operating system, you can reliable compile and execute code written 30 years ago. They don't just go change the language every couple of years. If you had the source code to the Unix command 'ls', which has not changed in over 30 years, you could still compile it for a new platform. Microsoft has ADHD, and has to constantly change everything around, even at a low-level programmer's interface.

Luckily my environment still works well, but when it comes to implementing relatively new concepts such as UPnP, or IPv6 technology (not looking forward to having to do that), it becomes very much a hassle. Usually once I figure it out, it's done and I don't have to muck with it anymore. And I've done this time and time again, and will in the future... I just hate *this* part, where I'm stuck trying to figure out something new, and hitting all kinds of dead-ends. Once I figure it out, I comment my code very well so that if I ever do have to dig into that section again, I know what I was thinking at the time it was written. Some of my hacks look like they make no sense, unless you read the comment lines.

Just needed to rant for a minute. I figure, hey, they're my forums :)  In the end, I'll figure it out, and all the frustration will have been worth it. I just felt the need to Microsoft-bash and vent for a minute. Feeling better already :)

Gonna take a break and watch a little TV, refocus my eyes, and conquer this UPnP thing once and for all by the end of the night...
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 20, 2013, 07:21:02 PM
Lol....you gotta rant sometimes to feel better.

I don't know why MS does that kind crap...they even do that with their OSes...I remember if you had XP you couldn't upgrade to Vista....you had to start clean.  Granted Vista was a piece of crap compared to XP and 7....and also upgrading is sometimes not recommended...it's better to start clean.  I think they knew it would break everything, that's why they quickly started working on 7.

Quote
if you are on a 16:9 TV, and you are set to maintain 4:3 aspect for  Karaoke... it could be on the unused "black bar" area of the screen

I actually use the 16:9 setting and looks and works just fine....but I didn't know you could put stuff on the black bars on the sides...if that's the case why not use it for the QR code...also you can display on the other bar the next singer or anything else.

Justin, I'm sure you'll figure this uPnP thing out...it may take you some time though...




Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 07:58:55 PM
Well I'm getting very close now. Here's what I've done:

The example source code I found is very good, and their sample (a console (command-line) application) successfully opens a port.

To compile it, I had to install Visual Studio 2012, quite a bit newer than my 1998 setup. Luckily they work side-by-side w/o conflicts. So I'm trying to convert it to a .DLL file that I can just call from my program. I'm *very* close to a solution. **FINGERS CROSSED**

I remember when Vista came out, I paid $200 at Best Buy to get a copy of Vista Business (aka Professional). Even though the package said it was an "upgrade" version, that only meant that I had to provide my old XP key to the installer - it would not do an in-place upgrade. They changed so much that it just wasn't possible to retain all your settings (now we're back to the "visualization" issue, a very major change in Windows' inner workings).

In all, I hate to admit, these changes have solved a lot of "DLL Hell" problems... I haven't had to do an OS re-install since before XP. In the Win98 days this was a bi-monthly ritual... Put on a pot of coffee, pop a movie in the DVD player (or VCR), since the installation will complete in "30 minutes" (HAH!)... but now I couldn't imagine actually re-installing Windows because of a blue-screen issue or what not. I don't miss those days... so at least they got on the right path, even if it meant saying "screw you" to "legacy" users...

But back to the programming environment: It's sad, really, that VB6 was the last of the original Visual Basic programming languages, and IMO the best, and they suddenly dropped support for it in favor of this .NET crap, with no way to migrate or upgrade existing applications without a full rewrite. And since this was almost 10 years ago, I have invested another 10 years of coding time into my VB6 program. Digging the hole deeper. Things like multi-core processors, hyperthreading, and a ton of other new things have come out since then that I've had to create work-arounds for... and have done so successfully. Vista/7/8 changed the audio subsystem, and I worked around that. They also changed the display subsystem so much that I had to rewrite my display code to work. And still, I truck along, making a very modern application in an out-dated development environment.

And I like it that way :) I'm very old-school, but I embrace new technologies (QR codes, UPnP, web-apps, anti-aliased Karaoke display, multi-monitor/multi-sound card, etc etc).

So... I've had my break, I'm going to allow a couple more hours tonight to figure this out (my girlfriend is getting frustrated with me spending so much time on the computer, though she does understand it's our bread 'n' butter). If I can make a simple UPnP DLL that I can call, and just say "Open this port on this IP", that would be absolutely perfect. And I'm pretty sure it can and will be done very soon...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 08:05:33 PM
Couple minor points... first, the reason I prefer a .DLL is that I can call it from the same process. If I call up a console application silently in the background, you will get TWO pop-ups of the Windows Firewall the first time you run it, one asking if "upnp.exe" is allowed access, and a second for "vdj.exe". That solution is just not acceptable. Plus, I need to *close* that connection if you change ports, otherwise you end up with my situation, where the router just gets confused.

Second point I forgot to mention - VS2012 is available for free from Microsoft, which is the only reason I installed it. My Visual Studio '98 setup cost me $600 back in 1998, they didn't have anything available free. It seems like Microsoft is taking the hint from the Unix/Linux/Mac community, where all development tools should be free (remember the famous speech where Steve Ballmer said "Developers, Developers, Developers!")... I mean come on, the Mac comes with all development tools preinstalled. By developing applications, you promote the platform. So Microsoft finally offers their "express" tools for free (which are quite all-inclusive actually)...

I may at some point migrate my C/C++ code to the 2012 studio, as I'm starting to like the environment... but my VB stays the same until I decide to rewrite it in C++ one day...

Okay, break time is over... off to conquer UPnP once and for all!
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 20, 2013, 11:38:48 PM
It's 1:30 AM my time, and I'm gonna stop for the day... but here's what I've got so far: there IS a very simple 3 lines of code for VB6 to initiate UPnP to set up a port forward. My router has UPnP enabled. When I enable the server in VDJ, the Java app shows "Virtual DJ Studio" as having port 8080 forwarded to my laptop's IP (and I've tried many different ports, restarted the router and my laptop many times).

Yet - I can't connect to it from outside the local network. The mapping is in place, I even tried completely disabling the firewall... nothing. I know I am doing everything right, but damned if I can connect to my laptop via a UPnP mapped port. I'm using the same external and internal port...

So I think this is one of those occasions where I need to close the laptop, watch a little TV and get some sleep, before the laptop (or router) somehow gets thrown out the door... lol

Fresh eyes are always a good way to resolve a problem when you're just too close to it. I'm sure I'll see something and say to myself "DUH!" when I find it. Again I know it works and I know it's common practice, at least for a couple applications, so it's there. I'm so close... the port shows open and forwarded... but something is making this not work. I'm sure I'll figure it out...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 12:00:14 AM
Damn, I think I've got it!  I need to look into what ports are *allowed* to be forwarded. If I try to forward port 8080, 45654, 44101, etc, it never works. But if I just go back to good old port 80 -- which is only forwarded via UPnP (I deleted the manual port forward in the router) -- it works!

I think, by George, I've got it :)  I may be a bit delirious from lack of sleep but I think it's finally fixed. It does NOT work on ports other than 80 (maybe it's my router), and I've tried from many sources.

So right now, if you go to http://vdj.net/dj/jman/ it goes to my laptop, with no manual port forwarding at all. Just UPnP.

Told you I'd get it figured out by the end of the night (for you guys on Pacific time, it's still tonight for like 3 minutes :) )

Now I can sleep. When I try to go to bed with a major problem still in my head, I dream code and can't sleep... so problem solved!!!

I will research if there are specific ports allowed on UPnP, but for now I know that port 80 (default HTTP port) works, and lets it work on both the server *and* the local IP... win-win!

PS - I've rebooted the router, my laptop, and removed ALL VDJ entries from the firewall to be sure. First time launching VDJ after that it asked if VDJ was allowed, etc blah normal Windows crap. Click allow, and voila, everything just works. If it works with my crappy (but super-fast) Comcast router, it should work on any setup with UPnP enabled. Most modern routers/access points will have this enabled by default, so I think we're golden...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 12:39:22 AM
Just did a lot more testing (restarted the router, confirmed that port 80 is no longer manually forwarded, rebooted laptop, accessed via the Android, etc). I think this is the answer I've been looking for.

So from some Googling, it seems that most modern routers do in fact enable this by default. This is why file sharing/torrent applications work out of the box. So I don't think we even need much of a tutorial on how to enable this feature; it was designed to replace the need for manual port forwarding, for gaming, P2P filesharing apps, etc. Unless the bar owner has a really old router, no configuration changes should ever be needed.

So now, you can literally just "plug 'n' play", with the QR code displayed somewhere (we'll figure out exactly where) and it's just "snap" and they're making requests, searching your database, and sending notes to the DJ without bugging him/her. Makes the DJ look all kinds of high tech, and makes the customers feel important too... exactly what I was going for.

Maybe it's the lack of sleep (it's 2:35AM here) but dammit, this UPnP thing and the QR code thing were both just pipe dreams a couple of days ago, and now they are part of Virtual DJ Studio 7.0... After I do sleep, sometime tomorrow afternoon a few of you will get an email with a BETA version to test out and provide feedback on. The BETA will install along-side the current 6.x version as an independent program (in other words, it won't affect your 6.x install at all) so you can test it on your own terms and let me know what you think. I'm curious if the UPnP thing works for few, some, most, or all users...

Gonna close the lid on the laptop now, time to crash out for a few hours...
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 21, 2013, 12:58:48 AM
Good going man...you did it.  Now you just have to lock down the details.  ;)

I had to step away from the computer too...my wife is like your girlfriend...while my bread and butter is my day job, the karaoke brings the jelly  ;D and she also knows that...

I tried the port mapper java app and at first it was not able to connect.  I had to go into my router and enable UPnP.  It was not enabled by default.  I do have  DD-WRT firmware installed on my router so maybe DD-WRT doesn't enable it by default.  We just gotta hope that most places have the default firmware.

Glad the 7.0 version will work along side 6.x version...looking forward to playing with it!
 

Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 01:12:03 AM
Last time I tried DD-WRT I Bricked my Linksys WRTG router, with no chance of recovery. It boiled down to a minor version difference... which was why I was a little shy about rooting the DroidX. So I have never had the pleasure of actually using DD-WRT. There is not a version for my particular Netgear router (it shows as a Work In Progress).

But I do believe most routers have UPnP enabled by default now days. My Comcast router can go months without a restart, but when I start playing with this too much it requires a restart. I hope that's only because I'm doing a lot of Trial & Error (with emphasis on the Error part). Since my last post I did one last reboot, as I wanted to make sure it would work with my laptop having a different IP address, and sure enough, I think I've got it nailed. My server is able to connect to my VDJ regardless of its local IP or port, as UPnP is taking care of it.

Still makes me sick that it ended up being 3 lines of Visual Basic code to make it work -- all the groundwork was already there. Just poor documentation. Now that I found it and it works, I can move on to the next steps to making 7.0 a reality (updated/larger graphics/fonts, etc). I will release a BETA for you guys soon, with the web app, QR code generation, etc that has already been implemented and tested. I'd also be curious how well the UPnP stuff works in the "real world"...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 08:15:48 AM
After a few hours of sleep, I've done a little research about this modem of mine, and it turns out I'm not crazy. The fact that it keeps losing UPnP portmappings is NOT something I am doing wrong, it's a common problem.

Apparently I can call Comcast and request that they disable the WiFi radio and put the modem in "bridge mode", so that I can just use my much better Netgear WNR1000. I need the modem to just be a modem and nothing more. Even the signal strength on the WiFi sucks, where my Netgear reaches clear down the street...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 10:28:31 AM
Now that the UPnP stuff is out of the way, I've been working on the QR code, and I came up with a very simple solution: if the option is checked, the QR code shows on the Karaoke screen in a fixed position (lower-right). It renders last, meaning it will be on top of anything that might end up behind it - so you'll have to choose your "upcoming singers" display accordingly.

It disappears when a singer is up (there isn't enough room on the screen for it not to be in the way). I can't just slip it into the margin as it will be too small - I've tried making it smaller, and on my 37" TV it just won't work any smaller than what it is now. Turns out a 25x25 pixel QR can't store enough data for a full URL... so I'm at 37x37, which seems to work well. It's then scaled up to your TV resolution of course, along with the rest of the Karaoke screen.

I also had to put some white border around it, but in all it looks pretty good. I've been testing with ScanLife, which sucks (it sometimes gets stuck in a loop making obnoxious noises) so now I'm using DroidQR and it seems to be more reliable.

Note that it includes the "passcode=" in the QR code, so patrons at your bar will never even need to know there IS a passcode if they snap the QR.

I'm working on a "print QR code" method, and a "copy to clipboard" as well. All coming soon...

I decided not to put instructions - if they don't know what it is, they probably don't have a smart phone... or aren't that smart... or lived in a cave for the last 10 years... :)


[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 21, 2013, 04:34:39 PM
Quote
I've been working on the QR code, and I came up with a very simple solution: if the option is checked, the QR code shows on the Karaoke screen in a fixed position (lower-right)

You've been been busy!

I had a busy morning at my day job so I haven't had time to post until now.

I can see why you're putting it there to leave room for any length of the "upcoming singers" but it does look a weird when you only have 2 singers with pics and 5 or less singers "text only" singers.

Question:  Will the QR code stay the same (if we use the same code or no code) because we're using your link (ex. www.vdj.net/dj/fabio/)?

In other words, is it possible to have a static version so I can print it and include it on the printed books?

By the way, I find QR Droid to be the best android app for reading them.

Quote
Last time I tried DD-WRT I Bricked my Linksys WRTG router

I thought I had done that before with a new router I got (WRT610n).  There is supposed to be a version for it but none of them work well.  This one has a dual radio too.  It kept dropping the connection.  On one of those attempts I did brick it, but I found a site that listed a way to unbrick it via a shorting of two legs of a chip on the motherboard. It did work but I had to break into it voiding my warranty...not that loading DD-WRT wasn't voiding already.  Unfortunately, I needed it to bridge with a second wifi router so I could get Wifi in my backyard where I've built a man cave with a pool table, darts, foosball and a large screen TV to watch various sporting events  ;D )  My house has metal siding which doesn't let the signal travel much outside the house.  Anyway, the basic firmware it comes with doesn't have bridging capabilities which is why I need to install DD-WRT on them.  My main E1000 works really well with DD-WRT but the WRT610n doesn't really like it.





Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 05:15:18 PM
Quote
Question:  Will the QR code stay the same (if we use the same code or no code) because we're using your link (ex. www.vdj.net/dj/fabio/)?

There is a field in the server settings dialog (attached) for the URL. You can either hit the "copy" button to copy your local IP (with http:// added) or just type/paste in your VDJ URL. Whatever you use will generate the QR code for that text plus (if you have a passcode set) "?passcode=1234".

When I add the "print" or "copy to clipboard" options, I'll be sure to ask if you want it w/o the passcode part, so that you can put it in your songbook and it will work every time. Only difference being, if you do use a passcode at a gig, they will have to enter it. By using the dynamically generated one on the screen, it'll automatically put the passcode in the URL.

Quote
By the way, I find QR Droid to be the best android app for reading them.

Agreed, been playing with it all day, it works much better than ScanLife. I like that you can even create QR codes with the app...

BTW, I've seen them around before, but when your mind is on something you start seeing it everywhere. Today I saw QR codes on pamphlets, grocery items, in the sale papers, even on restaurant signs... and I was only out of the house for about an hour! These things are gaining in popularity.

Our local Family Dollar store sometimes has items on sale *only* if you scan the stupid code on the shelf. Usually Coke & Pepsi products.

Heck, I'll probably start carrying around the Droid + my tracfone everywhere I go now. There's WiFi pretty much everywhere I go - McDonald's, Dairy Queen, this little Mexican restaurant we like... and our small 10,000 people town has no less than 13 bars in it, all with WiFi. Next time I go out for a few, I'll be testing my request app (and showing it off to my DJ friends :) ) (I keep changing the number of bars as I think of more... we also have two very large liquor stores and about 8 pizza places that also serve alcohol.. says a lot about Cedar Lake, Indiana ;) )

Oh, wanted to address this one:

Quote
...but it does look a weird when you only have 2 singers with pics and 5 or less singers "text only" singers.

What makes it look "weird"? I guess you have to see it up on the monitor, it really looks better (I just cropped out the karaoke preview screen for the attachment). I'll attach the second monitor screenshot. Also note that the QR can be oriented in any direction, and I change it so the three dots "anchor" it to the lower-right corner. Just an aesthetics thing but it just looks better... I could make that an option as well, the orientation and placement of the code.

Edit: oops, instead of adding an attachment I wiped out the other one :)

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 05:22:36 PM
Now that I look at it... what I need to do is go back into the Karaoke code, and make the entire image that is displayed a 16:9 aspect. The lyrics would still be in the 4:3 "safe area", and on a 4:3 TV it would crop (instead of letterbox). Then, the QR code can be pushed as far right as your screen allows.

I might take this on for the 7.0 release; wide-screen TVs are much more pervasive in bars today, and HDMI-capable laptops are very common as well. It will be a bit of work, but worth it, to re-organize the graphics (there are quite a few steps done in a specific order to "build" the resulting image on the screen). Remember as well that I have to take "overscan" into account even on a flat-screen; unfortunately most TV manufacturers still overscan, to account for garbage data that some TV shows have in the "unseen" parts of the screen. Since my TV is hooked to a home-brew DVR via a VGA cable, I actually see this sometimes.

Point being, if I push anything too close to the edge, it might get cut off by the TV monitor. Way to think ahead, TV manufacturers... I wish they'd just treat any signal like a computer output, with a 1:1 pixel ratio... but this is the real world...
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 21, 2013, 06:34:30 PM
It looks weird because it's off center I guess...

Quote
wide-screen TVs are much more pervasive in bars today, and HDMI-capable laptops are very common as well

Yup, this is true, all of the bars I host at have wide screen TVs.  Although as I found out when I got my laptop a few months, not all wide screen TVs have an HDMI port.  One of the bars I host at has a large wide screen TV that only has 1 DVI port.  Luckily I came prepared and had an HDMI / DVI adapter that came with a HDMI spliter/hub.  The owner has a directv box plugged in with S-Video, he did say he would buy a new one soon to replace it...but that was a few months ago and I'm still using the adapter.

Quote
wide-screen TVs are much more pervasive in bars today, and HDMI-capable laptops are very common as well
Maybe this can make the QR code stay on the screen if the KJ is using it on a wide screen TV.

Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 07:16:09 PM
Maybe an option could be to, instead of *centering* the Karaoke lyrics on the wide screen, there could be an option to shift it to the left or right, leaving twice as much room on the other edge for the QR code, and possibly other information...

I still think the bottom of the screen is best, since most bar TVs are mounted up high... but bottom-right (or left) with maybe some text, or even pictures of upcoming singers in the "blank" area...

The possibilities are all there, it just comes down to implementing them in a way that's easy enough to configure for the DJ/KJ, and not too time consuming on my end.

Food for thought I suppose...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 07:19:12 PM
I suppose I could make a configuration window where you literally drag and drop to arrange the various items represented as images, such as the Lyrics, header/footer text, QR code, upcoming singer #1 and so on. That probably would not be all that difficult; once you "apply" the settings the program just goes through the coordinates you configured, and displays accordingly.

I'm going to work on a mock-up of this and see what I think, and I'll post some shots of the mock-up for feedback.
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 21, 2013, 08:16:23 PM
Something along the lines of the attached window. The "lyrics" box is to scale, I didn't realize just how much *more* space is on the left and right because I shrink it down for the header/footer text. Seeing it to scale with the outline really makes one think...

Anyway the idea is you design your own CDG screen, and each "element" if you will, can be selected as "Visible Always" and "Visible when Not Playing Karaoke". I thought about adding an option to change the order (eg, what's behind or in front of what) but that gets way too hairy for my liking... just positioning information should do just fine.

Maybe it can save a separate scheme for when you are on a 4:3 screen, so if you do two bars, one with HDTVs and one with older sets... or in my case, I have an older LDC 20" monitor I use at outdoor gigs, and it's 4:3... but at bars it's almost always 16:9...

Edit: in case it wasn't clear, each outlined element would be drag 'n' dropped into place wherever you like... perhaps you could save your layouts as "schemes" and choose which one is appropriate for the occasion...

Just thinking aloud again...

Edit again: changed the screenshot to show the 4:3 "safe area" in the yellow dotted-line box.

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: vcationguy on August 22, 2013, 05:18:04 AM
Hadn't seen anything posted for a while, so I figured you were busy with 7.0.  You guys are amazing!
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 09:18:57 AM
So I slept on it, and my brain still kept working. I'm definitely going to rewrite the display code to always output a 720p image (1280x720). On a 4:3 TV, you have a choice to go "full screen" or "letterbox", like on a TV tuner. Also, on a wide-screen, there will be an option to "shrink" the width down to 4:3 - I know a lot of DJs who still use S-Video or Composite, and in this mode it would be a 4:3 picture being stretched to fit the TV; this option would make the aspect ratio look correct in this configuration.

Now, on to the CDG editor screen. Attached is what I've got so far. Note that it looks super-busy, but this is just the development environment. Not all of those elements will be seen at the same time; you'll choose either "Standby Mode" or "Karaoke Mode", and edit the screen layout for each of those modes separately. So if you want the Header/Footer to not show while someone sings, or the QR code, or a different background, or ... the list goes on. You will even be able to, if you wish, show the next singer's picture while someone is singing...

So it's all drag 'n' drop layouts. I will have some pre-defined "schemes", and you'll be able to save your own as well (for different venues with different TV configurations, or just different tastes in how the screen looks).

Any thoughts? I'll be working on making this mock-up actually function today...


[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 22, 2013, 09:29:41 AM
Sorry I haven't posted. I had my regular Wednesday gig last night and over slept.... running late for my day job.  So I'm posting from my phone (Thank God for swipe). Anyway, I'l just post a short message.  I just wanted to say I really like this  customizer of the cdg screen ;)
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 11:20:45 AM
It's really fun to play around with it. I don't have the underlying code to actually do anything with the settings yet, but the actual drag 'n' drop interface is working nicely. You can select whether to see outlines on the elements, the focus rectangle, etc.

It automatically snaps elements to a (unseen) 4x4 grid, but holding CTRL while dragging lets you move with 1 pixel resolution. It's exactly how it works in the VB6 environment, and I think other design programs have similar settings.

Note that 1 pixel = about 3 actual pixels in the full 720 result. I think this should be quite sufficient.

Still a bit of work to do, but this will completely replace the "karaoke settings" under the preview screen. Screenshot of current implementation attached :)

Edit: I'm going to save each "scheme" in an .ini file as well, so you can edit them or copy to another computer. I'm trying to get away from storing things in binary data and/or the registry, so that things can be edited/copied by the user. The "saved singers" might get a revamp in this same manner as well. The only thing I'm keeping in binary format is the Music Database, as it would be entirely too inefficient if it were in plain text files.

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 22, 2013, 12:07:25 PM
Wow, that looks really cool!!  8)

It looks like you can have 3 pictures PLUS the text list too...am I wrong?..that would be the best of both worlds, specially when you add the ability for users to send their pictures when they use the web app.

Thinking about this web app as well I was recently browsing at touch screens and I found this:

http://www.chinavasion.com/china/wholesale/Home_Audio_Video/LCD_Monitors_TV/10_Inch_Touchscreen_USB_TFT_Monitor

I wonder if you you set this up to run the web app in kiosk mode on it and people would be able to make request as well. It's not that expensive either at $139 for the 10 inch version.  I also saw a 7 inch version at $116 but with the difference in price I'd rather get the 10 inch version.  The only problem in my case I'd have to get a USB powered hub as I'm out of USB ports or perhaps a universal dock.



Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 12:23:16 PM
I suppose that might work. You would have to set up a browser and put it in full-screen mode. However there wouldn't be much stopping users from doing other things on your computer, intentionally or not... but as long as someone is keeping an eye on things it shouldn't be too much of a problem.

It certainly would look really neat though. I would probably recommend disabling "preview" though, unless you took the time to configure Windows to use the display device's audio - probably wouldn't do a lot of good anyway though.

As for the CDG screen editor, for fun I've compiled an .exe that runs just the one window. It doesn't do anything useful yet, but it will let you play around with it and get a feel for the interface. Actually it's just VDJ set to just show the one window (hence the file size :) )

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 12:33:08 PM
Just for my own reference later I'm posting this here. In the Header/Footer text area, I will allow for a few variables:

%NOWPLAYING%
%URL%
%PASSCODE%

Probably will think of some others later...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 01:28:28 PM
One more screenshot, just to show some of the possibilities, then I'm taking a break for a couple hours lol... it now looks even cooler...

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 22, 2013, 02:07:00 PM
it works really well.  I like that you can turn the SAFE area ON and OFF to see where you can drag things and not get in the way of other things.  I would suggest the ability to display both the text of however many singers are picked for the text plus the 3 pictures on the margin (or 2 or 1).  So it still allows people to see their picture when they're on the top 3 and still see the text list for the others. Right now I have to chose one or the other or sometime I switch in the middle of the night when I get really long lists and keep having people coming to see my laptop display to see where they're at....the only problem when I switch to the text only mode the people who like to see their pictures on screen will then complain...I know you can never please everybody but at least this would come closer  :)

So for example make it so I can display 10 text singers and 3 pictures on either margin (probably left is best with just the names underneath the pictures (it should truncate at a certain point so the text doesn't bleed into other areas or go off the screen. I guess that means they would see their name twice (under their pic and in the text list).  There should be an option on whether to display the pictures while singing or only in between songs.  You can probably just keep the radio buttons and then add an additional check box "display pictures in margin" and if this box is checked then allow the user to pic from a dropdown where the choices could be:

1 picture always
2 pictures always
3 Pictures always
1 picture in interim only
2 pictures in interim only
3 Pictures in interim only

I know the display gets too busy with both but sometimes you might not care. 

Also I would suggest a top to bottom centering (or is that justification?) of the text singers.  So if less than 10 are picked then it should add additional spaces.

BTW, I agree that the QR code should stay at the bottom.

Take a look at what I currently do on my songbook for the QR Code.  I'll be removing them shortly  (I put clear tape to attach them to the front and back of the books.

I was posting but I noticed someone has posted a reply...but I don't want to lose what I've typed so I'll post this now and then I'll go back and read and hopefully post a reply to that post.

Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 22, 2013, 02:16:55 PM
I like it better!  with everything shifted to one side or the other.  It looks cleaner.  On the zip you posted you didn't put the ability to shift the safe areas but I can see that it can be done easily.

Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 03:26:45 PM
Yeah, I have an idea of how to do pics + the full text in a nice way. I was getting tired of the current VDJ interface, where settings for the cdg screen are all over the place (one box on the Karaoke Queue, one on the Singer's list, then the new QR button was on the Server window... now it's all in one place.

I thought the TV graphic was a nice touch :) I added an "edit" checkbox that, when unchecked (default) it hides all the extra stuff and locks the graphic from being changed. This way when you're going in there just to change the text or something, you see a nice representation of the final result (which will vary by a few pixels here and there... what you see in that window is a representation that just sets a few numbers within the program. I will try to make it as close to 100% scale as possible).

PS, I think for fun I'll add an "undo/redo" buffer in there, say up to 32 levels...
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 22, 2013, 03:59:29 PM
Quote
Yeah, I have an idea of how to do pics + the full text in a nice way

That good!...because it took me a while to think of the best way to explain what I thought would be the best way to implement it  :P

Quote
I thought the TV graphic was a nice touch

I did see that but I wasn't sure if you had taken a graphic of a TV or had actually taken a picture of it on your own TV screen.  ;D

The buffer sounds like a good idea!
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 04:35:30 PM
LOL no I found a royalty-free generic 16:9 TV graphic on Google Images, and modified it to perfectly fit the screen editor window. It just makes it more fun :)

Note that the "No Picture" graphics are going to be replaced with ones that show "Singer 1", "Singer 2" and "Singer 3". Unfortunately it is very easy to mix them up right now... but I need to make room for the singer's name underneath, perhaps in a smaller font. Right now with three and accounting for the header/footer, there wouldn't be room to add that. I'll keep playing with it and see what I can come up with.

Perhaps I could put their name *on* the image at the bottom? So when you are showing pictures along with the text of the next 10, their name is on the picture. And when you're showing just pictures, it will then add text to the right like it does now, without their name super-imposed on the picture.

The way it's going to work is this: The drop-down box to select whether you are editing the "Standby" or "Karaoke" screen will affect *all* other settings. So when nobody is singing, you have one configuration, and when someone is singing it's an entirely different configuration.

This way, you can show the singer pics on one side while someone is singing, and move them to the middle when they are not. Or whatever you like - I'm trying to make this as customize-able as possible (that word looks wrong with the hyphen, but Chrome insists...)  The only thing I am not going to do is allow the user to re-size any of the elements. That would add another level of sophistication that I'm not willing to dive into just yet.

One other thing, and tell me if this is a bad idea... I think I'm going to remove the option to show the singer's picture in the background behind the lyrics, as well as the "Show one singer w/full screen pic". I never liked either of these, and removing them simplifies things for me... I hate removing any option, as there will always be one very vocal user moaning about it... "It worked in 6.x, wtf?"... but I really think those options were kinda lame and just add more complication to this whole thing.

Okay, break time is over, off to make some of this code actually do something :)  Maybe after a short TV break... :)
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 22, 2013, 04:57:00 PM
Quote
I think I'm going to remove the option to show the singer's picture in the background behind the lyrics, as well as the "Show one singer w/full screen pic". I never liked either of these, and removing them simplifies things for me.

I totally agree.  I used them a couple of times myself and people thought it was weird to watch themselves on the screen behind the lyrics and at least once I did it to myself by mistake while I was singing and I must say it's not only weird...you start wondering as you're singing "I should get a better picture...I look weird on that one"...  ;D anyway, it's very distracting.  After it happened to me I realized it was not a good idea for me and probably not the singers...so I made sure that setting was unchecked!
They only time I think they would be good would be for Halloween or costume parties.  But I could always do what I was doing before take pictures and put them as backgrounds and then just manually change them every few minutes...actually it would be nice to choose a collection of them in such cases and just let VDJ cycle through them every few seconds.  This might be good for crowd pictures too, where you take pictures of the crowd and "play" them in the background picture.  You could use your smartphone and send them to a designated folder and then have VDJ to play them from there in the background.

Chop it off!!
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 05:15:23 PM
I'm glad you agree, because I already removed those options from the new design window :)  I now allow you to show pics, text, or both, and you can position them as you wish both when someone is singing and when not, as separate configurations.

But I got to thinking about Video again, the ability to show video behind whatever else is being displayed; either a static video, an animated gif, or even live video. I've already tinkered with live video (in the screen where you capture a picture), so I know it can be done with any camera supported in Windows... but now we get into Alpha-blending. It's not that difficult to pull off, but it does use a lot of CPU resources to pull it off in realtime. It's almost like green-screening - usually they use dedicated hardware for this task, very expensive equipment. Though I know it can be done, as I've seen it (iChat on the Mac specifically, did a very good job of showing an animation in place of the background behind the subject)...

I think I'll put a pin in that for now, *however* I do want to implement just basic video playback as part of the program. I'm going to look into using the VLC player's SDK, since for my purposes I absolutely need raw access to at least the audio portion (for crossfading/AGC/EQ) and WMP won't give me that. Raw access to the video renderer would be even better (header/footer text, QR code, etc). Maybe it could be yet another item you drag 'n' drop in the screen arrangement window...

At a very minimum, when 7.0 is released, I want at least basic video support, using either a URL or a local file. Winamp does this seemlessly, and VDJ's been around almost as long as WinAmp... it's about time...

All this is just food for thought for later. I want to wrap up the new Karaoke display first, and then get a BETA version out to you guys to check out, to test the new Karaoke plus the Web App feature...

I'm doing more brain-storming at this point, so I think I'll hang it up for the night. Been a long day staring at this screen :) I think I'll play with the DroidX for a while (haven't touched it all day lol).

By the way, I've been using my default search with "match all words in any order" (I now have that doing realtime "as you type results") and it really does do a better job. For example, I needed a DK version of Bon Jovi - since the graphics on those take the full 300x216 usable area, for test purposes - and I just typed "bon jovi dk". This would not have worked with my old "exact phrase" search; I'd have typed "bon jovi" then scrolled to find a DK version. Or even "jovi, bon"... much better, and I think I will make that the default setting now. Thanks again Fabio for pushing me to improve the search tool :)
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 22, 2013, 06:38:33 PM
Quote
I now allow you to show pics, text, or both, and you can position them as you wish both when someone is singing and when not, as separate configurations.

This is perfect!

Quote
I'm going to look into using the VLC player's SDK, since for my purposes I absolutely need raw access to at least the audio portion (for crossfading/AGC/EQ) and WMP won't give me that. Raw access to the video renderer would be even better (header/footer text, QR code, etc). Maybe it could be yet another item you drag 'n' drop in the screen arrangement window...

I agree. VLC is really great in giving you so much control.  I think I mentioned I was usuing it to play video on top of the CDG screen.  I did have to make sure VDJ I unchecked the "always on top" setting.  This reminds me, I meant to mention...at some point that setting became grayed out so it can't be unchecked.  I did find unchecking the "Show CDG Window" was better anyway, and cleaner as I was able to do that with the laptop display instead of having to go to the CDG window and right-clicking.  It keeps the illusion of "the wizard behind the curtain" a little bit better.  Since I assume no one complained about that, I was probably the only one using this setting, so no need to fix it! 

Speaking of video...

Quote
At a very minimum, when 7.0 is released, I want at least basic video support, using either a URL or a local file

This is gre,t as I would be able to stop using VLC (at least in it's current implementation).
This allows me to support other languages as well.  I know I've been asked about Armenian songs, but they're only available in video format. Also my wife is Thai while she's not too much into singing in Thai, her friends are....so much so that I got this DVD package with 40,000 midi karaoke songs...yes midi.  I wish I could play them in VDJ if only so I don't have to launch a separate application and keep a separate queue of the singers...but that would be going backwards.  In reality what I end up doing is put a zip file titled "Karaoke Song" in the VDJ Queue so I know when they come up I have to do the switcheroo of applications.  Currently, I do the same for video songs I just have a zip file called "Video Song". Luckily this only happens occasionally.

Quote
By the way, I've been using my default search with "match all words in any order" (I now have that doing realtime "as you type results") and it really does do a better job.....Thanks again Fabio for pushing me to improve the search tool :)

No problem...but my intentions were not entirely altruistic...I was looking out for myself on that one  ;D
I'm glad you implemented that and I like that you added the realtime.  Does it still do quote searches such as "9 to 5" dolly?



Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 22, 2013, 08:43:44 PM
Quote
I agree. VLC is really great in giving you so much control.

VLC has been my default player on my laptop for a few years now... I just haven't dug into using it within a program yet...

Quote
Does it still do quote searches such as "9 to 5" dolly?

That's something I hadn't thought about, but that would be nice... I'll have to think on how to implement that, but I agree, it would be nice, as I do quoted searches all the time in Google personally. I suppose that in my code, the point where I am splitting the search string into words, I could find a way to interpret a quoted string as a single "word"...

Challenge accepted! :)
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 23, 2013, 12:37:16 PM

I meant to answer this in previous post and totally forgot...

Quote
Perhaps I could put their name *on* the image at the bottom? So when you are showing pictures along with the text of the next 10, their name is on the picture. And when you're showing just pictures, it will then add text to the right like it does now, without their name super-imposed on the picture.

This would work for me...too bad Ron is MIA  :-\ otherwise we could get his opinion too.

Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 23, 2013, 12:50:49 PM
Speaking of pictures...one thing you could do to make this even more interesting and I think I mentioned this before...maybe not... :o

Anyway, if you could combine pictures like the Android gmail app does when two singers with pictures sign up for a duet  (I'm not sure if the iPhone gmail app does it...or if there is even a gmail app  ;D ) I'm not sure if you've installed set your gmail account on the DroidX but I've attached a jpg for you to see.  This would be really neat!



[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 01:29:26 PM
Quote
I'm not sure if you've installed set your gmail account on the DroidX but I've attached a jpg for you to see. 

Actually you have to sign in to Google Play, and since I used my Gmail account for that, it just automatically started notifying me on the Droid when I get an email... lol, gotta love integration :)

I like that though - that's a good idea. I never did add any provisions for duets in the Singer's list, and that's something I should address, and yes, if there's a duet I can easily put two pics together into one space :)

On another topic, why the hell does Facebook convert everything to JPEG? I posted a PNG screenshot of the new Karaoke screen editor, and because of the purple "sample" lyrics, it looks horrible! Mind you I've been meaning to change the example lyrics to something more representative of VDJ (outline/shadow etc), just haven't gotten to it yet... right now I'm stuck doing a bunch of math, figuring out the scaling of the editor window vs the output screen, etc. It's becoming a real pain lol, my brain hurts today...
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 23, 2013, 02:01:00 PM
Quote
gotta love integration :)

Yeah, I forgot about that...it still surprises me every time it happens when I download a new app that requires signing on...it just gets your permission to do it and it just happens.

Quote
if there's a duet I can easily put two pics together into one space :)

Where's the thumbs-up smiley when you need it!

Re: Facebook
Facebook does a lot of weird stuff...I still hate you cannot search your wall for comments you know you've made...at least I haven't figured out how.  :-[
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 02:46:32 PM
Quote
I still hate you cannot search your wall for comments you know you've made...at least I haven't figured out how.  :-[

Agreed, I've had this problem as well. You'd think a full text search would be pretty easy to implement...

I swear, every day I have to ban at least 1 or 2 spambots from the forums - I have every possible method enabled (email confirmation, CAPCHA image, etc) to prevent the spammers but it just keeps happening. I wonder if they aren't bots, but users being paid to SPAM forums... ugh!

The only way around this would be to manually approve all signups, and I really don't want to do that... I guess I'll just keep checking the forums and delete SPAM as it happens, banning the username. Ooh, I should have it notify my GMail for every post - then the Droid will make it easier to ban them wherever I am ;)
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 02:51:02 PM
BTW, if you're curious, one of the things I'm struggling with is the HDMI overscan, that really should not even be present but is on most consumer HDTVs. That's why I mark the "safe area" for 16:9 as well as 4:3. We all know why overscan is necessary on CRT displays, but on fixed-pixel displays it's just nonsense.

Here's a really good article that explains it in detail:

http://www.engadget.com/2010/05/27/hd-101-overscan-and-why-all-tvs-do-it/

I'm using that as a reference; the "16:9 Safe" area is exactly 10 pixels from the outside edge. Crap, now that I think about it - in the editor it should be 1/3 of that... back to the drawing board (almost literally)... I'm pretty good with math overall, but it's easy to forget to scale everything... I know I'm good at math, as I don't gamble or buy lottery tickets ever... ;)
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 23, 2013, 04:22:58 PM
Quote
I swear, every day I have to ban at least 1 or 2 spambots from the forums

Shouldn't I be getting those? or at least a copy of the email?  I know since you made a moderator I've only had to do it twice and both of those times I got a notification someone had posted but I have not gotten any since...is there something I need to do to my profile to make sure I get them? After all that was the reason you made me moderator, so I could help you deal with those.

Quote
http://www.engadget.com/2010/05/27/hd-101-overscan-and-why-all-tvs-do-it/

Wow, I had no idea...but now I know why one of my TVs does it.  It put those black and white dots at the top but only on certain channels or maybe certain programs...not sure now.  Anyway, I have seen the overscan setting on my directv box, but I always thought it was related to the fit of the screen (I guess in some ways it is).  It so happens that we use the same box for living room area as the one for our bedroom instead of getting a second box.  The second box is shared between our extra bedroom and the backyard man cave.  Anyway, the one in the living room is not the same same size as the one on the bedroom and different brands too.  The one in the bedroom will do this line thing...and I've been able to get rid of it with the directv setting but when I'm watching the TV in the living room part of the picture (most noticeable) at the bottom is cut off.  So if I'm watching something that has text at the bottom, it gets cut off, so I have to go back to no overscan...actually, now that I think about it they probably call it TV Fit...or something along those lines.  Now, I know I know it has to be adjusted at the TV, not at the source....thanks!  Hopefully this TV has a way to adjust it.  I just didn't know they were related...

Thanks for sharing that article Justin! I would never had known...in fact I had given up trying to adjust it and just leave it with the lines showing so that my TV in the living room works correctly.  I suppose if I was using separate boxes I would never have learned this

 :)



Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 06:03:52 PM
Quote
Shouldn't I be getting those? or at least a copy of the email?

I will look into the settings on that. I get a notification every time a "new member" joins, and lately 99% of the time that "new member" ends up spamming with Viagra ads and what not... I don't know if this is a setting you have to set up, or something I have to, to make sure you get the "new member" notifications...

Quote
It put those black and white dots at the top but only on certain channels or maybe certain programs...

My favorite thing from the article is the Football example. The quite dots at the top are actually code that they use to determine where to put the yellow line on the field - remember that's not official and is completely generated on-the-fly by the network. That little bit of coding is how they pass that information from the camera to the video processors...

Just like in the "old days", things like Close Captioning were encoded as black & white dots (not technically "pixels" since it was analog) in the VBI (Vertical Blanking Interval). In other words, parts of the picture that the viewer would (or should) never see. When digital HDTV came out, the tv stations continued this practice, hence, TV manufacturers still make the TV overscan to "hide" these items. With my DVR hooked up via VGA cable, I have no overscan, and I do occasionally see these "extra" bits of information...

Anyway the only reason I'm researching this is that, when you are designing your Karaoke screen in VDJ, the overscan that almost all TVs do by default has to be taken into account. I now have the "safe area" marker for 16:9 set just four pixels from each side (which translates to 12 pixels on the actual screen). As long as you keep your elements within the green dotted-line box, it should be viewable. The 4:3 box is a little more inside, since CRT tvs are unpredictable and sometimes overscan more than they need to. I also changed that dotted-line box to Cyan (the yellow conflicted with the singer's text).

Screenshot of the most recent variant of the Editor window is attached. Note I changed the TV graphic, and the editor is slightly bigger (representing exactly 1/3 of the full rendered karaoke screen)...

Still working on a few things, but hopefully tomorrow I'll have it actually rendering the graphics based on the editor window's settings...

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 06:10:36 PM
Note that I changed it to allow either a text list of upcoming singers (up to 10), pictures (up to 3), or BOTH (they are now check boxes rather than "radio buttons").

Also note - I didn't realize I could in fact fit a QR code, 3 upcoming singers' pictures, and the actual Karaoke with header/footer text all on the screen at the same time until I created this editor. Now I realize how much I was limiting the possibilities by sticking with a 4:3 aspect ratio. Those extra pixels make a HUGE difference. And I've had an HDTV since '06, when I got my Vizio (which is still my living room TV slash computer monitor :) )  You'd think I would have considered this years ago. I actually get a little upset inside when a show (usually a rerun) is aired in 4:3 (black bars) when I know for a fact it was shot in HD widescreen. Yet my own program is doing exactly that...

Anyway problem solved and hopefully tomorrow I'll have a BETA ready. I'm dying to have you guys test the web app, as well as the karaoke screen editor (I will expect screenshots or photos of the outcome :) )

As for Ron - I agree, I've been waiting for his input as well. No wonder he goes by VacationGuy :P Actually he did post recently about some of the things we've been talking about. He's a busy guy I suppose (as we all are)...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 06:18:29 PM
Just have to point out that it bothers me very much that the TV stations put out a 720p video signal, based on 720p source material, but resampled so that you're actually seeing 700 scan lines resized to 720. Then, most 720p TV sets are actually 1366x768, so those 720 lines are being resampled yet again to 768 to fit the display. Note that most TV stations are 720 (not 1080), especially any station that has sub-channels (the bandwidth is shared between all 26.x channels). Here in the Chicago broadcast area, the only channel that is full 1080 is CBS channel 2. Unfortunately my Linux DVR has a hard time decoding it in realtime lol... I get some 30+ other channels that are 720 or 480...

Anyway the resampling issue kinda reminds me of Windows resampling the audio unnecessarily... so a good HDTV program or movie is being resampled (at least) two times before you see it. If you've ever watched a Blu-Ray disc on a true 1080 TV with no overscan, it's absolutely phenomenal. It's pixel-for-pixel exactly what it was intended to be (a friend of mine has a Sharp Aquos and PS3, and watching movies at his house is just like being in the theater, except we can pause, smoke, & drink ;) )
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 06:37:09 PM
Just so you see the above pic w/o the "edit" mode (and yes, there's no background picture right now)...

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 23, 2013, 07:39:44 PM
Quote
My favorite thing from the article is the Football example. The quite dots at the top are actually code that they use to determine where to put the yellow line on the field - remember that's not official and is completely generated on-the-fly by the network. That little bit of coding is how they pass that information from the camera to the video processors...

This is exactly the stuff I'm getting on the TV at my house except it's usually when we're watching some crime show or something.  I don't remember if it show up during football games too...although I seem to remember seeing it when watching NHL hockey.  They probably use the same technology for the adventising on the glass at each end of the goal (behind the goalie).  I hadn't realized it until this past season when I was able make it to more games.  I hadn't thought about when I was watching on TV but having it in the live game would probably block the view of the people at the game.

Quote
I don't know if this is a setting you have to set up, or something I have to, to make sure you get the "new member" notifications...

I'll look when I'm done posting this message but remember looking at the settings recently where I noticed I wasn't getting those notifications...that's where I found the place to add my picture...but I didn't see any sort of setting for that...

Quote
The 4:3 box is a little more inside, since CRT tvs are unpredictable and sometimes overscan more than they need to.

Now I understand why I had to play around with the CDG screen so much before when I was hosting at this bar that only had CRT screens - this is a few years ago.  It got to a point where I'd just drag the little CDG screen to the TV and manually enlarge it to fit the TV as best I could by dragging the corners. At the second bar where I'd occasionally host when the regular karaoke host wasn't available, I'd have no trouble even though they also had a CRT TV...but difference size/brand...

Quote
so a good HDTV program or movie is being resampled (at least) two times before you see it

No wonder digital TV is slower that analog...I remember before I upgraded my last CRT TV, specially when we were watching sports...the HD TVs would be a couple of seconds behind the CRT TV.  I remember a particular night when we order one of the Paquiao boxing matchest and we invited a large group of friends to come party and watch the fight...because the smokers wanted to be outside in backyard (before we build the man cave) I used bring out an HD TV and the large screen CRT in living room and I'd back and forth between the groups.  When I was in back we would hear cheering from inside the house and we'd wonder why they're cheering and a second later we'd realize it's because someone had struck a good punch. Yeah I do have a blu-ray and it is awesome to watch movies on it.

Anyway, the last pic looks great!  I can't wait to begin using it.

Question...would you ever consider splitting the Music database from the other windows?  Since I'm going to start using it, I kinda like the idea to be able too see it at the same time the singers queue.

Oh look at the time... it's time for me to leave the office and go host at the bar... :)
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 08:20:26 PM
Actually the delay on digital TV has nothing (or very little) to do with the resampling, that's done pretty much on the fly. However, if you've ever encoded MPEG video, you know that it takes a lot of processor time. So HD (and even SD digital channels) have to take the analog video signal, and encode it to MPEG before sending it over the air.

The last Cubs game I went to, there's this store across the street (one of many) selling Cubs gear, and we were there buying some new Cubs hats. The store owner was telling us that ever since everything went digital, he now knows when to look at the TV. He could hear the crowd at Wrigley Field get all excited, and about 6 seconds later the excitement would be on the TV. So he never missed a thing...

But that delay is inherent in the way digital TV works. It's being encoded, probably by some rack-mount unit dedicated to the task, to MPEG-2 video, which is what they standardized on for DTV (same encoding as a DVD... makes set-top-boxes cheaper to make since MPEG-2 decoder chips are easily available and cheap as hell from China). Had they gone with an MPEG-4 encoding, they could fit nearly 10x as many channels in the same bandwidth, but the boxes (and TVs and DVRs and etc etc) would cost more to manufacture. None the less, we still get a lot more channels in the same spectrum, and opened up a lot of bands (eg, our no-longer-legal wireless mics) by getting away from Analog video broadcasts...

It's kinda fun living in this transitional period where something as basic and everyday as television was forced to change by the government. I was against the whole idea at first, but now I just love HDTV. And I watch OTA on an antenna with an ATI HDTV Wonder tuner card in my Linux box, with the MythTV DVR... I've been using this setup for about 4 years, and can't even imagine paying for television now (anything not OTA is online somewhere)...

Anyway I think I'm on break, been at this since 6:30AM Central, with a break here and there... ready to watch some free HDTV, have a couple beers and get some sleep... :)  At least tomorrow, I'm not stuck on any math or other issues (figured out what I was head-aching over earlier), and it's just a matter of finishing up some code. So hopefully you'll have a BETA by the end of tomorrow :)

Edit: the main reason they use an old but proven standard (MPEG-2) is that, like MP3 audio, it takes a lot of processing and mathematics to ENcode, but very little resources to DEcode. So let the TV stations/content producers do the work, and let your set-top box/portable device do a relatively small amount of work to play back the audio/video. It's this kind of thinking that made things like the iPod possible, with a decent battery life. I still have my Nano 5th gen from 2008, still holds a charge and has 24 hours playback time... but MP3 has been around for over 20 years now (that's why the patents have expired)...
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 08:26:16 PM
Quote
Question...would you ever consider splitting the Music database from the other windows?

Hm... so you are already using the "Classic VDJ" mode where it's not integrated in the main VDJ window... but you want to be able to separate the individual tabs...

That's a lot more work than you might think unfortunately. It actually took a lot of work just to separate the windows for the few users who prefer it that way (you were not the only one; I got a lot of emails from users of 5.3 who really preferred the separate windows). To break out the music DB... I mean it's not impossible, but for right now it's not going to be on my immediate TODO list...

At some point I may work on making all of the little tabs able to be dragged out into their own window (like the tabs in Chrome on Windows). But the way I wrote that, it's just not possible just yet. It *can* be done and I will make note to work toward this in the future... Maybe 7.1? :)
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 08:31:33 PM
Quote
I'm using that as a reference; the "16:9 Safe" area is exactly 10 pixels from the outside edge. Crap, now that I think about it - in the editor it should be 1/3 of that...

Okay now I'm really banging my head on the desk... I got the "10 pixel" figure from the image of John McCain. But of course that picture is NOT to scale lol! So 10 pixels on that shrunken-down image is probably like 30 pixels on the actual TV.

I'm going to have to research and find out exactly how much overscan you get on HDMI, at least on average. I know the TV stations know this, because they do align score bars and scrolling news text right to the edge of the screen, so they obviously know exactly how much is being "cut off". In my case I'm using VGA, and my laptop doesn't even have HDMI output to test this with. Hm... the DroidX does, maybe I could use that with a test pattern image to determine the exact cutoff... at least on my particular TV. Gonna have to look for a mini-HDMI cable on eBay now (plus it's an excuse for another  "toy" purchase...)

My laptop does have S-Video and I have a couple 27" CRT TVs around (one in my work area), so testing 4:3 overscan is easy. Just need an HDMI setup to test with...

And I just finalized on the editor screen with 4 pixels per edge, meaning 12 on the actual output screen... which is probably not enough. Ugh! I guess I'll be sleep-coding again tonight :)
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 08:41:08 PM
Okay so it's 5% period, standardized. I just looked it up. So for 720 that works out to 18 pixels top and bottom, and 32 left and right... no big deal, at least now I know... and on my editor screen that would be 1/3 of that - so 6px top/bottom, and ~10px left/right... so I have some work to do tomorrow.

I have an appointment tomorrow but after that I'll tackle this and try to get a BETA out for you guys (guy? lol) to test out :)
Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 23, 2013, 09:58:42 PM
I know I'm posting a lot, but one last thing then I'm going to bed... I have modified the search algorithm, and anything within quotation marks is now seen as a single "word". Only applies to "match all words any order", since the other "exact phrase" option will match them only in that order anyway...

So your example of:

Quote
Does it still do quote searches such as "9 to 5" dolly?

Without quotes I get 23 results, and with them I get 16. I can see a million reasons this feature should be here... and it works flawlessly. Even as you type, as soon as you type that first quote, everything after that is considered one word (until the end quote is typed). So you can effectively get an "exact phrase" search just by quoting it. Much easier to implement than I thought - took just a couple minutes.

I will leave the server online tonight while I get some sleep, so feel free to try this quoted search feature out (it automatically applies to the app since it uses the same search algorithm and code within VDJ).

Just tested (and fixed a bug where it didn't like passing quotes in the HTML), and for Karaoke-Only search I get 4 results with "9 to 5" quoted, and 10 results without the quotes... so far so good.

Either go to http://vdj.net/dj/jman/ or just snap the QR code attached (I admit, I am having way too much fun with QR codes now that I know how to generate them :) )

Edit: You'll note I added a "welcome" page, another template that is editable by the DJ. It's the first page they'll see before going on to search.

[attachment deleted by admin]
Title: Re: Busy as heck working on 7.0...
Post by: vcationguy on August 24, 2013, 04:24:51 AM
Hi Justin,

Man, you're doing some great stuff with 7.0.  For what it's worth, I agree with what you guys have been saying about being able to show pics of the next 3 singers on one side and a list of the next 10 or whatever on the other side.  Also like the idea of their name under the pic and not showing the pic as they sing.  Fabio is right, that can be distracting.

I found a way to change my VCD's to files that should be able to play on your video player.  I'll email one to you so you can make sure it works with what you're doing.  I think it will work well.

Have a great weekend and do something fun (ok, I know this stuff IS fun for you, but get some rest too! lol)

Ron
Title: Re: Busy as heck working on 7.0...
Post by: Fabio on August 24, 2013, 10:16:49 AM
Justin ... no big deal with the music tab. And personally that would be the only one I'd want to split away.

I was hosting last night and I only got a chance to do the "9 to 5" and that works as expected. I'm glad it wasn't too complicated to implement.

Ron, welcome back! We were wondering what had happened to you! As you can see Justin has been busy...fyi...I don't think this beta will have video playback yet. Justin wants to test the Web request feature and the new cdg window with the editor.



Title: Re: Busy as heck working on 7.0...
Post by: Justin on August 24, 2013, 10:59:45 AM
Yeah, I'm focusing on the karaoke screen editor right now. Video playback will hopefully come soon, I haven't yet dug into the VLC player SDK or what can be done with the source code, but I will tackle that soon...

I'm not sure I'll have a beta today. I am still tinkering with the editor, which is almost done as far as the interface, but my head's not ready to rewrite the Karaoke display code right now (a little under the weather today).

On a side note, I have been trying to get ahold of Comcast and am having absolutely no luck. I'm being told by a recording that due to high call volume, they are too busy and call back another day. Great customer service. I need them to put my modem into bridge mode, disabling the router/wifi function entirely, so I can actually test using different ports with the app. I can't do that right now because this modem's built-in router is a hunk of junk (though it's fast as all hell)...
Title: Re: Busy as heck working on 7.0...
Post by: vcationguy on August 24, 2013, 02:39:54 PM
Hi Fabio,

Yep, I'm still around.  Have been busy and kept up with what you guys were doing but didn't have anything to add.  lol  You guys are really on top of it and way beyond me in computer expertise!

Ron