Quick Sign In:  

Forum: VirtualDJ Plugins

Topic: Requests system - communicating with VDJ

This topic is old and might contain outdated or incorrect information.

Hey there,

I've given a background to what i'm trying to do. But you can skip all that I guess and go straight to my question if you aren't in a reading mood!

--- BACKGROUND ---
Forgive me because I have absolutely no experience in C++. I do however have a lot of experience working in vb.NET. As a mobile DJ I tend to get lots of requests for music, but more importantly karaoke. Guests can spend a long time trying to look through for karaoke songs when my time could be spent better trying to DJ. I'm also sick of the cost of printing a 50 page karaoke tack list.

This led me thinking and I'm writing my own software [I'll release it free if anybody is interested once it is finished]. Which would run an app on a computer, and an app on the DJ's computer [using around 1mb RAM]. They connect together through a wireless network. I know it's probably not the best option - but it will work fine with my setup, or for anybody else that has a spare laptop.

This means the guests would be able to navigate through the laptop and view all of the karaoke / music tracks in the VDJ Library. Guests could then type their name, the song the want and a message to the DJ, hit send and then within VDJ the DJ would see an incoming request and queue it up. I would plan to expand this in time to create an iphone / ipod touch app, where guests could browse from their phones and request.

Anyways onto the coding point. I have fully written the server software [the software for the DJ laptop] and I have written the client software [for the spare laptop]. It sends VDJs Library and splits it up into some listviews. Then on the server side, I have a listview with three columns (guest name, song info, message). They connect fine and guests can request a song fine. I've used it at a gig and it works fine too.

---- MY QUESTION IS HERE ----
The problem I have now is communicating with Virtual DJ. I imagine it would be pretty simple, but really don't know where to start. I need to create a listview with 3 columns, and then a "mark as served" button and that be it. I can obviously do all the coding. How do I go about designing it? How do I complie the VDJ Headers into a .dll without visual c++ installed on my laptop? Is there an example project I can download anywhere?

Any help would be appreciated!

Adam.
 

Posted Wed 11 Aug 10 @ 7:35 pm
Hi Adam,

i'm sorry but i can't help you with what you are trying to do, however i just wanted to wish you the best of luck as i think this is something that VDJ is really lacking.

PCDJ Karaoki uses a request server system, also writen in Vbasic i think? it works really well, to have something like this with in VDJ would be fantastic, and for people tobe able to use smart phones to request would be the iceing on the cake.

i hope there is someone that can help you, and again i wish you good luck.

Tom.
 

Posted Tue 17 Aug 10 @ 2:26 pm
djcelPRO InfinityModeratorMember since 2004
Plugin uses COM model so it should be possible to write something but we do advise to use C++ as it's fully supported.
 

Posted Wed 18 Aug 10 @ 6:40 am
TexZKPRO InfinityMember since 2005
You can write a wrapper which exports function calls as "classic" Win32 DLL functions - to be clear, the ones you can import since VB6, which are simple C (not C++!) stdcall ones. This way your plugin class instance pointer would become a "handle" (a long integer), and all class methods would be wrapped by simple C calls.

For instance:

class Plugin {
int dummy() {
return 1;
}
}


might be wrapped as:
__declspec(dllexport)
int WINAPI Plugin_dummy( int handle ) {
return ((Plugin*)handle)->dummy();
}


This method should work... I know it sounds dumb, since all OO programming is removed, but I don't know how to link to COM-like objects in .NET :-(
 

Posted Wed 18 Aug 10 @ 8:07 am
JoeyKJPRO InfinityMember since 2008
Hey Adam, I have an idea for you..

First thing, this is a needed function for the busy DJ for some of the reasons you've mention and additionally to avoid all the incorrect request that people make, wrong titles, artist and so on can short circuit anybody’s stride, concentration and affectedness at the helm especially at a Karaoke Gig.

1. Just start simple with the Basics, then develop from there.
2. You can just setup a wired network between two laptops and shared folders.
3. Have a window opened up in the DJ screen that would receive the request info then just copy and paste the "Track" and "Guest" info as needed.
4. Don't forget tick off the info from the list as you queue them or it could get confusing.

Good Luck

Joey...
 

Posted Sat 21 Aug 10 @ 9:53 am
Unfortunately for you, you have to use C++
Personally when I wanted to create my DENON HC-4500 mapper (for version 5.x) I had to do the same. I had no programming background in C++, only in VB.NET, but with a little help from Google and a couple of guys here in the forums, I managed to write a full "somewhat complicate" mapper for my controller.
There is an SDK with some examples in the Wi-Ki area. Try to download it and take a look at it. The only thing that's WAY different between C++ and VB.NET are the "strings" which might give you some difficulties with C++ until you manage to get used to it's logic. Otherwise, it's only the style expressions that change and that's not difficult to learn for a small project like this.
In the worst case scenario, you should program your Server application to write a text file on your DJ laptop with the info you want (it will ONLY APPEND data on the file) while your VDJ plugin will just read data from this file and it will remove the text lines that it successfully retrieved....

Good luck!
 

Posted Mon 23 Aug 10 @ 3:29 am


(Old topics and forums are automatically closed)