Quick Sign In:  

Forum: VirtualDJ Plugins

Topic: Beatmasher for VDJ : coming soon - Page: 1

This part of topic is old and might contain outdated or incorrect information

May be the most complicated FX I've ever done.

Far away from my "roadmap FX" --> pioneer inspiration, I made it beacuse it seems it has been waiting for a while by some of you --> Christmas Gift :-)

To be honnest, I think it is complicated to use this kind of FX composed of 3 chained FX : beatmasher + LFO Filter + Gate
Overview : it has 8 parameters:
4 sliders :
- loop lenght from 1/32 to 1/1
- HPF : frequency cut
- HPF : LFO
- Dry/Gate : Mix dyr/wet from 0 to 50%. Afterwards the slider becomes a thershold to add gate FX on wet sound

4 buttons:
- Warp : to resynchronised the lenght every 1 beat. It changes the rythms for ternary lenght as 3/4; 3/8...
- Noise : Add a white noise to wet sound when Gate is engaged
- Reverse : to read the loop in reverse mode
- Up/Down : it concerns the LFO Filter. It starts from the high frequency instead of low ones.

I'm interested to know the title of the song in the demo of Ean Golden. If someone knows...
 

Posted Fri 11 Nov 11 @ 5:46 am
do you mean "enjoy the silence - depeche mode" from the s2 video? you can get the acapella from www.acapellas4u.co.uk... the rest is the power tools loops i think...
 

Posted Fri 11 Nov 11 @ 6:57 am
found it


 

Posted Fri 11 Nov 11 @ 7:47 am
FX uploaded.
 

Posted Fri 11 Nov 11 @ 10:08 am


awesome, i just noticed you uploaded it, cant wait to try it out ;)
 

Posted Fri 11 Nov 11 @ 10:23 am
This is the right songht. Thanks!

About the video insertion. It doesnt work in my previous message.
I wrote this {youtube}v=xxxxxxxx{/youtube} but with [] instead of {}
 

Posted Fri 11 Nov 11 @ 10:27 am
ended, it works now
see my private ;-)
 

Posted Fri 11 Nov 11 @ 10:38 am
djcelPRO InfinityModeratorMember since 2004
@Deun-Deun

The plugin uses a very old SDK and the internal policy is to force to use the last available SDK.
Can't you convert it?



+ previous posts moderated for obvious reasons.
 

Posted Fri 11 Nov 11 @ 1:46 pm
Good job Deun-Deun....and for posting the you tube syntax...don't put anything before the = that's it.
 

Posted Sat 12 Nov 11 @ 1:13 am
@djcel

For sure, I would prefer to make this plugin with the current sdk, but until now without success because of my lack of knowhow in C++
I do my best
Don't remember I learn C++ with you during 3 evening lessons by msn ;-)
I work by iteration with plenty of tests
To combine FFT with Sample, I spent a lot of night hours : hundred of hours for sure.

I take a look at TexZK's code but it is like the chinese for me. He is a genious of C++
I saw you send me a code source. I will look at it.

2 possibilites :
- you validate it right now / make exception regarding your policy but available for pro users immediatly knowing that this FX works with VDJ 7
- you wait for an update of it I can't promise although it is my goal. Need time (several months probably)

Up to you
 

Posted Sat 12 Nov 11 @ 3:58 am
Again ...very Good job Deun Deun.....give me a "shout out" when beta its ready... ;-)
 

Posted Sat 12 Nov 11 @ 5:35 pm
SBDJPRO Infinity Member since 2006
Assuming the SDK you used isn't properly ancient the changes to update to the most recent SDK are:

* Different IDs in DllGetClassObject
* SendCommand changes to use VDJScript
* GetInfo changes to use VDJScript and a struct rather than a single pointer

Some examples:


if(memcmp(&rclsid,&CLSID_VdjPlugin,sizeof(GUID))!=0) return CLASS_E_CLASSNOTAVAILABLE;
if(memcmp(&riid,&IID_IVdjPluginDsp,sizeof(GUID))!=0) return CLASS_E_CLASSNOTAVAILABLE;


...becomes...


if(memcmp(&rclsid,&CLSID_VdjPlugin6,sizeof(GUID))!=0) return CLASS_E_CLASSNOTAVAILABLE;
if(memcmp(&riid,&IID_IVdjPluginDsp,sizeof(GUID))!=0) return CLASS_E_CLASSNOTAVAILABLE;


...or if you want to retain v5 compatibility...


if(memcmp(&rclsid,&CLSID_VdjPlugin5,sizeof(GUID))!=0) return CLASS_E_CLASSNOTAVAILABLE;
if(memcmp(&riid,&IID_IVdjPluginDsp,sizeof(GUID))!=0) return CLASS_E_CLASSNOTAVAILABLE;


The command to tell deck 2 to play goes from:

SendCommand("play",2)


to:

SendCommand("deck 2 play",0)


The 0 is related to whether or not the command is sent from the plugin thread - don't use 1 with windows related commands.

The command to find out the VDJ home folder was previously:


char szResult[512];
if (GetInfo("VdjFolder",&szResult)==S_OK)
{
// Query was successful and result is in szResult.
}


This is now:


TVdjQueryResult qResult;
if (GetInfo("get vdj_folder",&qResult)==S_OK)
{
// Query was successful and result is in qResult.string
}
 

Posted Sun 13 Nov 11 @ 7:06 am
SBDJPRO Infinity Member since 2006
If you'd like a hand with any conversion then feel free to give me a shout btw. If it's an even older SDK version (older than the one used in ShakerBeats for example) then obviously more changes will be required. I'll be happy to walk through the requirements with you :)
 

Posted Sun 13 Nov 11 @ 7:08 am
djcelPRO InfinityModeratorMember since 2004
The main issue is the old SDK had its own FFT class whereas it's not the case with the last one. That's why I advised him to download the source code of Spectrum 2. It reproduces the same old FFT class so you don't need to change your code so much.


http://www.virtualdj.com/addons/4584/Spectrum2.html
 

Posted Sun 13 Nov 11 @ 11:48 am
SBDJPRO Infinity Member since 2006
Ah, yes, thats quite a change then. Offer of help still stands though :)
 

Posted Sun 13 Nov 11 @ 12:03 pm
I took a look at djcel's code spectrum
I think I understand how it works (except the management of the spectrum but I don't need it).
In the prehistorical SDK used by myself, I use the Laurent de Soras algorythm as well (I don't use the FFT class of VDJ).

I will try to make a simple filter to be sure of my understanding. If it works, updating beatmasher could be easier than I thought.
If needed, I'll contact you for some help :-)

thanks!

DD
 

Posted Mon 14 Nov 11 @ 2:32 pm
just Upload a \"beatmasher single\".

8 buttons for Lenght of loop> 4/1 - 2/1 - 3/2 - 1/1 - 3/4 - 1/2 - 1/4 - 1/8
Slider 1 : Mix Dry/Wet > controls mix between the original direct sound and the sampled audio
Slider 2 : Trans/Gate > combined controller for different ways of mixing and gating the sampled material :
- From full left to centre mixes in progressively bigger chunks of sample audio with the Trans FXo
- From center to full right position cuts out progressively bigger chunk of sample audio with Gate FX (peak level only)
Slider 3 : Rotate > shifts the sampled audio relative to its original position in steps of 1 beat.
Slider 4 : 3 options > reverse / Start Pos of loop / Warp
- Reverse : reverses the playback direction of the buffered audio samples
- Start Pos of loop : change the start position (2/1 is from 3rd beat instead of 1st - others from 4th instead of 1st)
- Warp : Re-syncs the effect on each bar for more musical results

Practice and Enjoy!!
 

Posted Sun 20 Nov 11 @ 4:25 pm
DJRobyPRO InfinityMember since 2004
Thanks Deun Deun for this latest plugin that you had created. It's absolutely AMAZING!!
 

Posted Mon 21 Nov 11 @ 10:39 pm
Got it DeunDeun!... yes I'm back...;-)
 

Posted Mon 21 Nov 11 @ 11:45 pm
coming soon : a beatmasher chained
it is an another beatmasher, not an version 2 of the beatmasher single.

The parameters will be different, with Auto HighPass Filter, Pan option....

If you have some ideas, I can include your wishes before updloading it.

Up to you
 

Posted Sat 03 Dec 11 @ 1:17 pm
59%