Forum: VirtualDJ Plugins

Use this forum if you have questions about plugins development, or if you want to talk with other developers.
Topic: Karaoke Plugin 2.0? - Page: 1
I do at least 3 karaoke shows a week, and love the Virtual DJ Karaoke plugin. I would like to see a couple of mods to it though. In addition to the current and next singer, I would like to display the 3rd singer in (%THIRDSINGER for example). I would also like to have the songlist display the total amount of time my currently entered songs will take up (this is handy near closing time).

Thank you,


Posted Mon 14 May 12 @ 8:25 pm
SBDJPRO InfinitySenior staffMember since 2006
I had a need for a karaoke plugin too and didn't like the way the default one loads to the selected deck, even if it's playing.

As an experiment I wrote one that loads to a pre-specified deck (3 in my case) for example rather than the selected one and also keeps track of total play time of the karaoke list too.

The one problem I did have was that I couldn't seem to implement drag and drop in a v6 plugin as the command used in v5 no longer works. To that end I added an 'add' button to the window, and added VDJScript commands so you can add a track to the karaoke list directly from the browser window.

It's not really suitable for public use at the moment but I could look into developing it further.

Posted Mon 14 May 12 @ 9:10 pm
jcketPRO InfinityMember since 2011
I would be greatful for an updated Karaoke plugin. I use it on a weekly basis. If you need a tester i would be willing "of course not live" ;)

Posted Tue 29 May 12 @ 12:34 pm
I too need an update too, the Karaoke window is limited and cannot be expanded to view a larger wait list. Thanks if anyone is listening or working on an update.

Posted Wed 04 Jul 12 @ 6:01 pm
I've shared this a few times...I'm hoping it reaches VDJ staff well this time.

There are only a handful of professional / quasi professional karaoke software options.

The most widely used are:



PCDJ (which is no longer competition, but still prevalent)

The features which help these programs stand out are the following:

Singer history stored
Solid Key Change ability
Scrolling lineup of singers at top or bottom of screen.

Other than that Virtual DJ has the other features already available.

I am writing to plead to the powers that be to include some of these features in VDJ. I know that maybe 10% of your clients are Karaoke Jocks but I'm sure that number would grow if you added these features. One way that i've gotten around the singer history stored is the "Playlists" Feature. I just save a playlist with the customers name and songs, however it's a dumb way of doing it compared to the other programs which automatically save history. Compuhost is probably the most feature rich out of all of the programs. The main features that would help most KJ's is the Singer historys saved (with keychange preference) and the scrolling lineup of the next three to ten singers. Please consider your customer base and the possibility that others might feel as I do. I want the amazing functionality of VDJ and the capabilities of other professional karaoke programs. Please let me know what you others think...

Posted Thu 05 Jul 12 @ 8:29 pm
taylaPRO InfinityMember since 2007
Coach, take a look at Karma Karaoke, that should fill the void for you until something happens on the plugin here, but if you have read the post elsewhere on this subject you'll realise we have a guy on the development team here who actually made a damn good plugin of his own.

We just got to be patient and see what V8 will bring us.

Posted Fri 06 Jul 12 @ 12:47 am
jcketPRO InfinityMember since 2011
Version 8??? When is that due for release?

I generally use the karaoke feature of VDJ every time i work. It's seems limited in ways, like the fact that the window that pops up for the Karaoke cant be "Full screened" by simply double clicking the window, you need to manually change the size.

Additionally, it would be good to edit the title and artist of the song as well, as sometimes, depending on the actual file name, it shows for e.g. "01 - Robbie Williams - feel" it would be good to have it as just "Robbie Williams - Feel". Lame example i know, but I'm sure you get my point.

I will make a list of things next time i use it, and post it here...I really hope we can help to improve the karaoke function of this program.

Posted Fri 06 Jul 12 @ 4:25 pm
@SBDJ: I'd love to collaborate with you. Maybe together we can build the ultimate karaoke plugin. E-mail me *****@***** ? (I don't check the boards frequently.)

@djcel: I too am trying to develop my own karaoke plugin, and it's coming along great except for a few things I can't accomplish using VDJscript (unless I'm missing something). Loading and playing directly to a deck works fine, but when I'm running a show I like to use playlists and Automix to get smooth transitions. To that end I need a 'playlist_add_top "filename.mp3"' (just like we have 'load "filename.mp3"' syntax). Once it's loaded to the top, I need a 'playlist_mix_next' command (I'm looking for functionality equivalent to double-clicking the next track in the playlist; I'm not sure if 'mix_next' does that).

@jcket: You can edit all of the track information from the browser: search for the song you want to edit, right-click on it, and choose File Infos. You can then edit Title, Author, and anything else you desire.

[Sorry, posting E-mail addresses and other contact details is not permitted for unlicensed users (Your E-mail address has been reposted at moderator level in case SBDJ wishes to contact you) - You can monitor a topic for replies by clicking on the bell icon at the top of the page (It will notify you by E-mail when anybody posts in the topic.)]

Posted Wed 05 Sep 12 @ 8:57 pm
SBDJPRO InfinitySenior staffMember since 2006
My development of a karaoke plugin is on hold at the moment, I have a million other things I need to get done first.

Happy to assist others though.

Posted Fri 07 Sep 12 @ 11:34 am
er0sionPRO InfinityMember since 2004
Has anyone made any progress on anything in here? I have a ton of ideas, and began to write my own plug in as well. The default karaoke plug in crashes on me at least once per show. It's very frustrating, especially on my busy nights when I have 130 people queued up.

Posted Mon 24 Sep 12 @ 3:41 pm
@er0sion: I am actively developing my plugin. You're welcome to post feature requests. Mine is nearing a beta testing stage. I have not decided whether or not to charge for the plugin, since it would have the same feature set and be in direct competition with commercial products that are designed to only run karaoke, and in my opinion do a poor job of it.

Posted Mon 24 Sep 12 @ 3:53 pm
blckjckPRO InfinityMember since 2008
@DJ Scribble Nutz

Thank you for working at this. I had collected the SDK and Visual stuff, then life happened and was not able to work on it.
A few things that would be nice in the plugin:
Choose which deck the song loads to, maybe a check box or something.
Choose background behind lyrics and between songs.
Have the singer/song list save to a history file as the songs get loaded.
Choose between starting the song automatically or just loading it to a deck. (I prefer just loading, but others may like the auto play)
Release focus back to browser after loading a deck or adding a song/singer. (I occasionally forget to click back on the browser, and when I start typing a song search, it loads and plays the next singer.)
I like the current features like current singer/next singer, and the ability to position them.
If you have a need for beta testers, PM me.

Thanks again,


Posted Tue 25 Sep 12 @ 8:34 am
Regarding my plugin (not available yet, but nearing beta stage):

@er0sion: Disaster recovery is built in. Your singer queue is restored to its last state automatically at startup.

(1) and (4) Customized action for the "Go" button is built in. This means you can load AND/OR play on any deck you want.
(2) Background between songs is a feature of the original plugin and will be included in mine. Background behind lyrics would be difficult to implement because the video for the karaoke is not transparent. It has a solid background. The only way to accomplish this would be to include some kind of chroma key feature in the plugin that would attempt to automatically make part of the karaoke video transparent; this may be possible but I doubt I'll include it in the initial release.
(3) History is already included in my plugin (duh, that's like feature #1), as is support for multiple locations.
(5) Good idea, I will add an option for it. Thanks for the suggestion!
(6) I am planning on including all features from the original Atomix plugin, unless a feature in mine makes it obsolete.

There are several other features that I am including that will make this an enterprise grade plugin, but I'll wait for the beta release to discuss them.

Posted Tue 25 Sep 12 @ 9:32 am
er0sionPRO InfinityMember since 2004
@scribble: excellent news! previously I had been working on a system that is a server / client based system that a user can use a kiosk (running the client) and search for the song they're looking for and add it to to the server (pc running vdj). I was working on this program in C# as a proof of concept, but never finished creating the wrapper to interact with vDJ

Flagging songs that have already been queue or sang would be awesome as well.

Also, the time that the singer was queued up would be beneficial.

It would also be great to have a config variable for your show start time and show end time (and day), so that you can queue up singers and have an estimated wait time (based on mp3 songs queued up, or apprx 3:45 secs.

Notification if a zip file is invalid when attempting to queue up rather than on play.

*** The ability to lock the queue window to prevent accidental deletions! In the current plugin, hitting backspace deletes the singer without notification when the window is in focus, it's extremely annoying!

I'll post a few other ideas that I have when I get to my home pc.

Posted Tue 25 Sep 12 @ 5:43 pm
@er0sion: My plugin is written in managed C++; writing the unmanaged wrapper was one of the more difficult tasks to accomplish. In order to build a complex user interface using Windows common controls, I had to figure out a way to get two-way communication between the plugin code and my CLR components. If I get time I'll post the source code for the wrapper.

The idea of a remote search/enqueue mechanism is an interesting one. Years ago I bought an old NTN/Buzztime game system that I was going to try to hack into my karaoke songbooks. The user would be able to search and put themselves into the rotation right from the convenience of their table. Never really got started on it though; all the parts are proprietary and undocumented, I would have had to build my own Buzztime system from scratch as far as I could tell. That concept would be pretty easy to implement using a laptop though. It wouldn't hurt to have a published API for the karaoke plugin that would allow third party software (like yours) to interact with it in a standardized way.

Songs that are played (sung) are flagged by VirtualDJ in the usual manner, but unfortunately there is no way for my plugin to tell VirtualDJ to flag a song (for example when it is put in the queue).

Queue time is a great suggestion. I will add it.

ETC for the list is already included, but estimated time until singer is also a good idea and I will add it.

I could check ZIP files as they are added to the list, but I feel that this is somewhat outside the scope of my plugin. That falls into the category of maintaining your library. If I did want to include this as a feature, I would have to determine exactly what mechanism VirtualDJ is using to unzip, and implement it myself, otherwise there may be ZIP files that my program can unzip but which VirtualDJ has problems with. I have another utility that I built that recursively unzips an entire directory, written specifically for karaoke folders. It uses the 7zip library, which has a much higher success rate than VirtualDJ or Windows. In other words, I was able to unzip the MP3+CDG for many songs that weren't usable otherwise. Maybe I'll post the program if others will find it useful. By the numbers, the size benefit to using ZIP files is approximately 25%, and storage is cheap these days. I keep my karaoke library uncompressed, to avoid ZIP file corruption or errors during decompression/recompression. If enough people want the feature, I'll figure out how to make it happen, but it's low on my priority list for the time being.

Because my queue window is implemented in a completely different manner than the Atomix plugin, you need not worry about accidental deletions.

Posted Thu 27 Sep 12 @ 7:28 am
Any idea when you will release your new plugin?

Posted Thu 27 Sep 12 @ 7:28 pm
In my opinion advanced karaoke features shouldn't be a plugin at all. It should be included right into the core of VDJ and should include a karaoke specific skin.

Posted Sun 30 Sep 12 @ 12:56 pm
@djmastrav: I am developing the plugin in my spare time between shows and classes, so I don't really have an ETA. Maybe a month for a beta release would be nice though. I'll hopefully be testing internally at my shows within a week or so. But don't hold me to that. ;)

@bmbingham: Then every skin developer would have to make two versions of their skin, one with karaoke and one without. On the other hand my plugin is designed to integrate with whatever skin you are using, incorporating the skin style into the plugin itself. Also, every person has a different level of need. Someone that is using VirtualDJ to run a karaoke show in the first place probably needs more than the average off the shelf karaoke hosting solution. But it should be an option, not a requirement. You should be able to turn the feature off, like a plugin.

Posted Sun 30 Sep 12 @ 4:02 pm
Ugh. I'm stalled. I need to implement drag and drop but I can't find any information on how to do it. This is pretty crucial to the operation of the plugin, it's going to really suck if I have to find some other way to do it. If anybody has information on how to make this happen, please let me know!

Posted Thu 04 Oct 12 @ 8:19 pm
@bmbingham: I've decided you may have a point after all. ;) I have successfully designed my program with the ability to incorporate into skins, if the skin is designed for the Karaoke 2.0 plugin. Otherwise, the plugin will revert to the Effects tab and be backwards compatible with all skins, whether they were designed for karaoke or not. The only downside of this is that for the plugin to pick up skin or integration changes, you have to restart VirtualDJ. As far as I can tell, there is no way around this with the current version of VirtualDJ because I have to declare the user interface at plugin initialization time, and that can only be done once per program session.

Everything's looking and working great so far, and I've incorporated many of the suggestions as indicated in my responses to your posts. Getting much closer to a beta release, and I'll post some screenshots soon.

Posted Tue 09 Oct 12 @ 1:15 pm
Page : [>] [>>]