Virtual DJ Studio Home | NGWave Home | Official Facebook Page | Unofficial VDJ Users Group

Author Topic: Eureeka Moment :)  (Read 12430 times)

Offline Fabio

  • Administrator
  • Hero Member
  • *****
  • Posts: 757
  • Karma: 11
    • View Profile
Re: Eureeka Moment :)
« Reply #15 on: November 07, 2016, 06:32:30 PM »
Wow...that is great!

Yeah, I'd be concerned about the dropouts too.....but wow, that is amazing!


Fabio Q.
Shooting Star Karaoke

Offline Justin

  • Site Administrator
  • Administrator
  • Hero Member
  • *****
  • Posts: 951
  • Karma: 11
    • View Profile
    • Virtual DJ Studio
Re: Eureeka Moment :)
« Reply #16 on: November 08, 2016, 06:30:04 AM »
I have yet to get into the internals of how it works, but WiDi (Intel's variation of DLNA) and the Samsung TV both use "Wifi Direct". The two devices talk to each other *without* the router being involved. I will have to research exactly how that works and how many TV models and/or HDMI dongles would support it.

As for dropouts, other than being about 1/4 second behind, which can be adjusted with the lyric sync, I hadn't noticed any. I have yet to do any long testing, and there's also the issue that a music video would be out of sync (though I could provide an option for that as well...)

I've got some non-VDJ stuff to do today, but either way I'm going to put that idea on hold for now - however if you happen to have an Intel video chipset (many laptops do) and a TV with a feature which goes by different names depending on the model... then it would "just work". In Windows 8 and up, in the display settings, you'll see "Connect to Wireless Display" *only if* such device is available. You have to have the TV in that mode waiting for a connection before it will show up in Windows. Not sure about multiple wireless displays (I only have the one smart TV) but again, I'll research that stuff more after the 8.0 release...
-- Justin Nelson, CEO
   Next Generation Software, Inc.
   http://www.vdj.net/

Offline chaz

  • Full Member
  • ***
  • Posts: 109
  • Karma: 0
    • View Profile
Re: Eureeka Moment :)
« Reply #17 on: November 10, 2016, 01:00:25 AM »
As far as I know, unfortunately you can only connect to one device

Offline Fabio

  • Administrator
  • Hero Member
  • *****
  • Posts: 757
  • Karma: 11
    • View Profile
Re: Eureeka Moment :)
« Reply #18 on: November 10, 2016, 03:04:24 PM »
one device only would not be good.

Fabio Q.
Shooting Star Karaoke

Offline chaz

  • Full Member
  • ***
  • Posts: 109
  • Karma: 0
    • View Profile
Re: Eureeka Moment :)
« Reply #19 on: November 10, 2016, 04:05:09 PM »
I have tried connecting using windows 10 to multiple screens.. I had to purchase an external item.. similar to Chromecast (unsure of name.. ) but I can plug that into a hdmi splitter then run hdmi cables to other tvs.. kinda useless though
Thats the reason I use the actiontec wireless hdmi.
I might be missing something though..

Offline Fabio

  • Administrator
  • Hero Member
  • *****
  • Posts: 757
  • Karma: 11
    • View Profile
Re: Eureeka Moment :)
« Reply #20 on: November 10, 2016, 04:28:29 PM »
Quote
actiontec wireless hdmi

It looks pretty nice, if I start doing more private gigs, I'd probably invest in that.  Luckily the bars where I host let me wire the HDMI cable and I connect to an unused input source on their TVs.  It costs me $15 or $20 for the HDMI cables, so I just carry the powered splitter with me (I carry more than one - just in case).  In one of the bars, the owner paid for the splitter so I just leave it there permanently.  In fact, I do the same with the 1/4" cables to the speakers and mixer.  So it makes for easy hook ups when I get there.
Fabio Q.
Shooting Star Karaoke

Offline ikaraoke

  • Newbie
  • *
  • Posts: 12
  • Karma: 1
  • One Show At A Time.
    • View Profile
    • ikaraoke.ca
Re: Eureeka Moment :)
« Reply #21 on: November 18, 2016, 03:37:15 AM »
I have to say Justin, it is a real joy to watch you unfold this new version from the ground up.   Reading backwards and catching up is a cool thing for someone like me to experience.

I know other companies have already figured out some of the issues you are tripping on at this moment....so maybe if you got an old version of another DJ manufacturers software, crack it open just to look at the coding just to see how they tackled those issues so you can get inspired so it all makes sense.  Thoughts? 

Offline Justin

  • Site Administrator
  • Administrator
  • Hero Member
  • *****
  • Posts: 951
  • Karma: 11
    • View Profile
    • Virtual DJ Studio
Re: Eureeka Moment :)
« Reply #22 on: November 18, 2016, 09:13:54 AM »
That's reverse engineering, and isn't really good practice (though big companies do it all the time, I don't have a team of lawyers to protect me lol)... besides that, this stuff with the wireless display is really just a matter of the tech being new and there being no truly defined standards yet. It really only works in a very specific set of circumstances (video card + TV model, or iPhone + certain other TVs)... it's too new a technology to apply universally which is why the idea is on hold for now.

Mind you, you CAN still use a wireless display either via the Wireless HDMI adapter that Chaz talks about, or if your video card happens to be Intel and supports WiDi and your TV also supports this... but that's a lot of "if"s :)

Right now I'm wrapping up with the display part of the code - it works great and though there are more features I want to add, that can happen later on in an update. For now, I have the video playback support working pretty well, with the audio passing through my audio code; the Karaoke lyrics can be over a background image, a video loop, or a live cam; and you can even play a remote URL (has to be a direct link to a file for now, not a streaming protocol like a live stream... yet)

So my focus now is on finishing up the interface of the program, which is about all that is left before I can release 8.0. I had some other (non-VDJ) projects going on for the last week, but I'm back at the computer desk until this gets released.

I did jump in here and there with fresh eyes and tinker with some things - taking a break to work on something non-computer (such as, for example, rebuilding the top end of a 2.4L PT Cruiser engine) gives the "programmer" brain a chance to rest and come back fresh :)

I'll do some screenshots or a short video later today or tomorrow. I'll probably start a new thread.

To iKaraoke: By posting as I work, it helps both myself (great feedback, ideas, etc) as well as you guys (getting to give some input before a new idea even gets released). I love when a developer listens to my feedback -- it happens rarely but it feels good when a suggestion becomes part of a product I use regularly. So I want my customers to feel that same level of communication as well.

It's also helpful to me as a way to "look back" at my thought process at different stages. It's my way of "thinking out loud" and you guys are the voices in my head! :P
-- Justin Nelson, CEO
   Next Generation Software, Inc.
   http://www.vdj.net/

Offline Justin

  • Site Administrator
  • Administrator
  • Hero Member
  • *****
  • Posts: 951
  • Karma: 11
    • View Profile
    • Virtual DJ Studio
Re: Eureeka Moment :)
« Reply #23 on: November 18, 2016, 09:29:46 AM »
On a highly off-topic note, if you do any automotive work at all, it is worth investing in an OBD2 interface. There are thousands available but the inexpensive ones based on the ELM-327 chip seem to work very well in my experience. The interface connects your car to your laptop, iOS or Android device, and once you choose your preferred software/app and familiarize yourself with it, it's just like having the large expensive diagnostic machines the shops have.

Best part is being able to quickly clear codes and see that it will pass emissions (or "smog" as some states call it) before going to the place to have it checked. My sister says they charge you $80 just to test in CA... here (IN) it's free but the lines are long toward end of month...

I'm not recommending any particular one - I got mine for $6 from China off eBay - but a google search for "ELM-327" and either "Bluetooth", "WiFi" or "USB" will give plenty of results (depending on which interface you prefer). I use Bluetooth with the touch-screen laptop personally... so now my car, laptop, and iPhone all match: they are all white with black trim, and covered in greasy fingerprints :)

If you prefer you can get a brand-name device like "Bluedriver" for a bit more money, but with support and all that...probably better software as well... but I'm happy with the generic one, and they all use the same interface chip whether you're paying for a brand name or not...
-- Justin Nelson, CEO
   Next Generation Software, Inc.
   http://www.vdj.net/

Offline Fabio

  • Administrator
  • Hero Member
  • *****
  • Posts: 757
  • Karma: 11
    • View Profile
Re: Eureeka Moment :)
« Reply #24 on: November 18, 2016, 06:03:54 PM »
You may not be a large company with many employees, but I've got to say I've enjoyed your work process and I got to say I like it when a suggestion does become part of VDJ.  I know you've taken some of my suggestions and made them part of VDJ. Sometimes you feel lost when you deal with a large company and you don't know if your suggestion is getting to the person who will make the decision.  At least with you I know the buck stops with you. The progress you have been posting is great in that we see you progressing through it instead of being in the dark where you're at the moment.  Right I can see you're pretty close and I'm getting antsy and want to ge my hands on it...that's the only problem  :P...but it's a good problem to have!

Regarding the OBD2, I actually did buy one of those and works via bluetooth.  It has come handy with my wife's car when she's had problems with it.  I know at least one time, it correctly diagnosed one of the ignition coils was misfiring and told me which one.  I ordered a replacement online (which was cheaper than the autozone version) and replaced it myself and her Trailblazer was back to normal.  A mechanic would probably had cost me lots of money to diagnose and replaced it with the more expensive version...and that's if he was honest as he could have made other stories about the problem and I would not have been the wiser.  Sadly it doesn't work in my 1990 Mazda Miata because it doesn't have an interface for it.  The car predates it. 


Fabio Q.
Shooting Star Karaoke

Offline Justin

  • Site Administrator
  • Administrator
  • Hero Member
  • *****
  • Posts: 951
  • Karma: 11
    • View Profile
    • Virtual DJ Studio
Re: Eureeka Moment :)
« Reply #25 on: November 19, 2016, 09:29:03 AM »
Yes, OBD-II (version 2) was standardized and federally required as of the 1996 model year on every car. So if it's before '96, you're on your own, but after, the fact that it's standardized is nice in that it doesn't matter who made the car, it is required to support that interface. Technically it is an RS-232 serial port at its core; the dongle/adapters just transmit that data via Bluetooth or some other newer standard, and the software interprets that data and displays it in whatever fashion it wants to. It is nice to be able to see every available sensor reading in real-time (with some latency of course) and know whether or not the car will pass emissions testing...

There are times I feel I might be revealing too much about my process on here, but luckily there aren't all that many people who bother to read this stuff :)  So, for those who do, you get a little extra insight at no extra charge :)
-- Justin Nelson, CEO
   Next Generation Software, Inc.
   http://www.vdj.net/

Offline chaz

  • Full Member
  • ***
  • Posts: 109
  • Karma: 0
    • View Profile
Re: Eureeka Moment :)
« Reply #26 on: November 20, 2016, 09:30:22 AM »

Right now I'm wrapping up with the display part of the code - it works great and though there are more features I want to add, that can happen later on in an update. For now, I have the video playback support working pretty well, with the audio passing through my audio code; the Karaoke lyrics can be over a background image, a video loop, or a live cam; and you can even play a remote URL (has to be a direct link to a file for now, not a streaming protocol like a live stream... yet)
Have you had any issues with the video delay... Last night I seemed like I was having to adjust to every other song. It was bat-shit crazy busy.. 25 singers deep most of the night. It just seemed to feel like I was spending a lot of time adjusting .. or just could never get it perfect.

Offline Justin

  • Site Administrator
  • Administrator
  • Hero Member
  • *****
  • Posts: 951
  • Karma: 11
    • View Profile
    • Virtual DJ Studio
Re: Eureeka Moment :)
« Reply #27 on: November 21, 2016, 08:40:23 AM »
The lyric sync depends on so many factors, some of which I can control (fix) and some that depend on your hardware, especially display latency (all digital TVs have a slight latency on purpose, to give the TV time to do image processing -- which is why at a Best Buy or whatever you hear an echo due to each TV having a slightly different delay). Then add wireless into the mix and that's another curveball outside my control.

As for the things within my control however: most notably is that I need to look at exactly where I'm syncing to within the file. ID3 tags at the beginning of an MP3 (regardless if it's within a ZIP or not) are supposed to be skipped before starting the "timer" so to speak... and I need to look and make sure that is happening correctly. Variable bitrate (VBR) MP3 files throw another set of equations into the mix...

The final thing that is outside my control, and you mostly see it in older files, is whether or not the ripper/grabber software originally used to create the MP3+CDG file did so correctly. Nothing I can do about those other than allow you to adjust the sync. There is no programmatic method to figure out or assume/detect a sync issue...

In general I try to make sure that on my development setup - a straight-up dual-monitor PC - things are in sync with 99% of my files, and then internally I put the lyrics a tiny bit ahead of the music to account for standard television latency (when the slider is at zero).

I will try to improve the interface, maybe instead of (or in addition to) the slider, a plus/minus button, along with a caption (+200ms) or something else, and the ability to set a "default" so when you start a new song and it resets, it does so to your saved "zero" point. If that makes sense... kinda like the "Tare" button on a digital scale.

To answer your question (too late to say "long story short"), I haven't done anything new to the lyrics code. However I did notice that when using a video loop as a background, that adds an additional latency that I should calculate an account for automatically (vs having just a static image background). Unfortunately this may also be somewhat hardware dependent...

<EDIT> And it's worse when using a live webcam. Almost forgot about that... but I think I can programmatically determine this and adjust accordingly...
-- Justin Nelson, CEO
   Next Generation Software, Inc.
   http://www.vdj.net/

Offline Fabio

  • Administrator
  • Hero Member
  • *****
  • Posts: 757
  • Karma: 11
    • View Profile
Re: Eureeka Moment :)
« Reply #28 on: November 22, 2016, 01:37:07 AM »
Quote
I will try to improve the interface, maybe instead of (or in addition to) the slider, a plus/minus button, along with a caption (+200ms) or something else, and the ability to set a "default" so when you start a new song and it resets, it does so to your saved "zero" point. If that makes sense... kinda like the "Tare" button on a digital scale.

I like this!  That way we can have it reset to our default setting.  I know I sometimes have to adjust a song to the maximum setting (mostly towards the right) and forget to reset it for the next song and the next song is then off again because I forgot to reset it.
Fabio Q.
Shooting Star Karaoke