Accesso rapido:  

Forum: Addons

Topic: easyKRM - Page: 1
locodogPRO InfinityModeratorMember since 2013
Discussion about easyKRM

easyKRM, handles karaoke rotation, and adds some quality of life tweaks to make doing the karaoke thing easier. One instance of each singer in the karaoke list, placeholder management, copy paste singer names, direct link to singer history, singer list to text plugin.

Pro Users only, free to use, but if this is something you'll use regularly, You could buy me a beer.
[beer makes stupid ideas stupid realities!]
ThrowInToBeerFund

Feel free to try before you consider donating. please don't forget me.

Right then, the instructions.

Run the fx from master FX section.
Turning on the FX on will create "workingList" in your karaoke history.
This is the folder you will be working from.
If you forget to set karaoke venue and wish to, set the venue name then give the fx a quick off & on [will change workingList location and where it looks for singer history]

Add songs with singers & key change to this list, [just drag them in, from history or from a search whatever]
Press button 1 to send from working list to actual karaoke list.

As songs are loaded as part of usual karaoke use, button 1 will be pressed automatically. [updating the karaoke list with any new singers, and replacing any placeholders if possible]
Only works with karaoke running.

With many thanks to DJ2Legit for the how to video, no way could I have had the patience to go into that depth. When I spend hours programming I lose focus as to what is obvious.


The buttons; There's lots but keep in mind you work in workingList, app updates the karaoke list.
Button 1 'LIST' I already mention, it updates the karaoke list from the working list. [The plugin itself pushes this button when a song is loaded]
Button 2 'INSERT' will insert a placeholder to karaoke list & open name dialogue.
Button 3 'COPY' will just copy the singer name that the browser is looking at.
Button 4 'PASTE' will paste a copied name on to the track the browser is looking at.
Button 5 "HOLDER" if on it will add a placeholder for the previous singer to the karaoke list on karaoke load [only if no other track exists for that singer name in working folder]if off it won't placehold.
Button 6 'TEXT' brings up current singers to text plugin.
Button 7 'HTTP' is used for HTTP access for request apps. [adds song to workingList from effect_strings] more details for app developers in later post.
Button 8 'CLEAR' clears the working folder [probably only ever used at the start of events]
Button 9 'HISTORY' pull up history for singer browser is pointed at.
Button 10 'SINGLE+' adds singer+song+keyChange pointed in browser at to workingList.
Button 11 'SWAP' this will take the song pointed at in the karaoke list and send it to the workingList, it will also take the track pointed at in the songs window and put it in the place of the removed karaoke list track, with the singer name of the removed karaoke list track.
Button 12 'WL' short for Working List, a shortcut to jump to your workingList.
Button 13 'REPLACE' like SWAP except it does not remember the song leaving karaoke list.
Butt 14 'REMOVE' if in karaoke list it will just remove the song pointed at.


TL:DR you figure it out.
 

Inviato Wed 17 Nov 21 @ 8:48 am
locodogPRO InfinityModeratorMember since 2013
2023/02/13 UPDATED
padpage to go with it, one thing not on the FX gui is, text prefix & suffix to singers list. You'll find it in the padmenu, it's only really a string variable and can be set like any normal variable.

deck master set_var_dialog '$messageFirst'
deck master set_var_dialog '$messageLast'

If you need you can make your own one click messages



<?xml version="1.0" encoding="UTF-8"?>
<page name="easyKRM">
<pad1 name="LIST" color="color">deck master effect_button easyKRM 1</pad1>
<pad2 name="INSERT">deck master effect_button easyKRM 2</pad2>
<pad3 name="COPY">deck master effect_button easyKRM 3</pad3>
<pad4 name="PASTE">deck master effect_button easyKRM 4</pad4>
<pad5 name="SINGLE+">deck master effect_button easyKRM 10</pad5>
<pad6 name="HISTORY">deck master effect_button 'easyKRM' 9</pad6>
<pad7 name="TEXT">deck master repeat_start 'textToggle' ?
on & deck master repeat_stop 'textToggle' & deck master effect_button 'easyKRM' 6 off :
off & deck master effect_button 'easyKRM' 6 on &
deck 1 karaoke ? deck master repeat_start 'textToggle' 1000ms -1 &
deck 1 play ? deck master effect_button 'easyKRM' 6 ? deck master effect_active 'text' off : nothing :
param_bigger 0 `param_add 'deck 2 play' 'param_add "deck 3 play" "deck 4 play"'` ? deck master effect_button 'easyKRM' 6 ? deck master effect_active 'text' ON : nothing : nothing :
deck 2 karaoke ? deck master repeat_start 'textToggle' 1000ms -1 &
deck 2 play ? deck master effect_button 'easyKRM' 6 ? deck master effect_active 'text' off : nothing :
param_bigger 0 `param_add 'deck 1 play' 'param_add "deck 3 play" "deck 4 play"'` ? deck master effect_button 'easyKRM' 6 ? deck master effect_active 'text' ON : nothing : nothing :
deck 3 karaoke ? deck master repeat_start 'textToggle' 1000ms -1 &
deck 3 play ? deck master effect_button 'easyKRM' 6 ? deck master effect_active 'text' off : nothing :
param_bigger 0 `param_add 'deck 1 play' 'param_add "deck 2 play" "deck 4 play"'` ? deck master effect_button 'easyKRM' 6 ? deck master effect_active 'text' ON : nothing : nothing :
deck 4 karaoke ? deck master repeat_start 'textToggle' 1000ms -1 &
deck 4 play ? deck master effect_button 'easyKRM' 6 ? deck master effect_active 'text' off : nothing :
param_bigger 0 `param_add 'deck 1 play' 'param_add "deck 2 play" "deck 3 play"'` ? deck master effect_button 'easyKRM' 6 ? deck master effect_active 'text' ON : nothing : nothing :
deck master repeat_stop 'textToggle' & deck master effect_active 'text' off</pad7>
<pad8 name="HOLDER">deck master effect_button easyKRM 5</pad8>
<menu>Power =[deck master effect_active easyKRM]
GUI =[deck master effect_show_gui easyKRM]
Venue =[karaoke_venue_name]
Opening Message =[deck master set_var_dialog '$messageFirst']
Closing Message =[deck master set_var_dialog '$messageLast']
-
Dragging To Deck >> No Thanks +[deck master set $krmblp 0]
Dragging To Deck >> Swap +[deck master set $krmblp 2]
Dragging To Deck >> Replace +[deck master set $krmblp 1]
-
Venue Presets >> Venue 1 +[karaoke_venue_name "test" ]
Venue Presets >> Venue 2 +[karaoke_venue_name "YOUR TEXT VENUE" ]
Venue Presets >> Venue 3 +[karaoke_venue_name "YOUR TEXT VENUE" ]
Venue Presets >> Venue 4 +[karaoke_venue_name "YOUR TEXT VENUE" ]
-
First Msg Presets >> Preset 1 +[deck master set_var $messageFirst "YOUR TEXT FOR PREFIX HERE" ]
First Msg Presets >> Preset 2 +[deck master set_var $messageFirst "YOUR TEXT FOR PREFIX HERE" ]
First Msg Presets >> Preset 3 +[deck master set_var $messageFirst "YOUR TEXT FOR PREFIX HERE" ]
First Msg Presets >> Preset 4 +[deck master set_var $messageFirst "YOUR TEXT FOR PREFIX HERE" ]
-
Last Msg Presets >> Preset 1 +[deck master set_var $messageLast "YOUR TEXT FOR SUFFIX HERE" ]
Last Msg Presets >> Preset 2 +[deck master set_var $messageLast "YOUR TEXT FOR SUFFIX HERE" ]
Last Msg Presets >> Preset 3 +[deck master set_var $messageLast "YOUR TEXT FOR SUFFIX HERE" ]
Last Msg Presets >> Preset 4 +[deck master set_var $messageLast "YOUR TEXT FOR SUFFIX HERE" ]
-
Edit Presets Menu =[pad_edit]
-
Clear .m3u =[deck master effect_button 'easykrm' 8]</menu>
<param1 name="`deck master effect_active "easyKRM" ? get_text "ON" : get_text "OFF"`">deck master effect_active "easyKRM" -1</param1>
<param2 name="`karaoke_venue_name`"> </param2>
<shift_pad1 name="SENDBACK">browser_window 'karaoke' & deck master effect_button easyKRM 10 & browser_remove</shift_pad1>
<shift_pad2 name="REPLACE">deck master effect_button easyKRM 13</shift_pad2>
<shift_pad3 name="REMOVE">deck master effect_button easyKRM 14</shift_pad3>
<shift_pad4 />
<shift_pad5 name="SWAP">deck master effect_button easyKRM 11</shift_pad5>
<shift_pad6 name="WL">deck master effect_button easyKRM 12</shift_pad6>
<shift_pad7 name="TEXT FORCE">deck master effect_button easyKRM 6</shift_pad7>
<shift_pad8 />
<shift_pad9 />
<pad9 name="SENDBACK">browser_window 'karaoke' & deck master effect_button easyKRM 10 & browser_remove</pad9>
<pad10 name="REPLACE">deck master effect_button easyKRM 13</pad10>
<pad11 name="REMOVE">deck master effect_button easyKRM 14</pad11>
<pad12 />
<pad13 name="SWAP">deck master effect_button easyKRM 11</pad13>
<pad14 name="WL">deck master effect_button easyKRM 12</pad14>
<pad15 name="TEXT FORCE">deck master effect_button easyKRM 6</pad15>
<pad16 />
</page>

 

Inviato Wed 17 Nov 21 @ 5:52 pm
locodogPRO InfinityModeratorMember since 2013
HTTP Access.

As mentioned fx has provision for 3rd party apps to add to the workingList.
Obviously you'll need vdjs HTTP plugin Network control.

clients [singers] send to host app [the dj], host app sends to vdj. [don't want to give clients HTTP access to vdj]
Something like this

http://127.0.0.1:80/execute?script=deck+master+effect_string+'easykrm'+1+'PATH'+%26+deck+master+effect_string+'easykrm'+2+'SINGER'+%26+deck+master+effect_string+'easykrm'+3+'KEY'+%26+deck+master+effect_button+'easykrm'+7


PATH,SINGER,KEY being client variables
[key needs to be unsigned for positive key changes]
should be all you need.


REQUESTS VIA ASK THE DJ

not really a feature more a workflow, I'd like to improve it but ASK would need some changes.
[@devs specific karaoke ask webform?]
Anyway the workflow
Ask message comes in,
single click the request,
click "COPY" that copies the "From" as a singer name,
look up the file,
"PASTE" the name on to the looked up track,
use the "SINGLE+" button to send it to workingList.
Job done, song with singer added to workingList

As I said, not fantastic, but it's functional, do it a few times and it might become familiar. [beta testers were pleased this was possible]
 

Inviato Wed 17 Nov 21 @ 6:34 pm
locodogPRO InfinityModeratorMember since 2013
I've had 2 KJ's using this plugin each of a couple of events they agree, it made the job easier, giving them more time to talk to the punters to convince them to sing so it seems to be successful.
 

Inviato Sat 20 Nov 21 @ 3:35 pm
locodogPRO InfinityModeratorMember since 2013


little problem with in app downloading fixed.
extensions>effects>other>easyKRM
should be there now, if isn't delete folder [will force cache update]
...\Documents\VirtualDJ\Cache\Plugins

in the vdj gui you'll find the fx under master fx panel in 'other' folder
[that way forces calling only from deck master, as intended]
 

Inviato Mon 22 Nov 21 @ 11:20 am
I am using the Vectro skin and am not seeing an "other" folder under the Master Video Effects panel?
Could this be skin related or is their another way to activate easyKRM ?
 

Inviato Wed 27 Apr 22 @ 1:07 pm
locodogPRO InfinityModeratorMember since 2013
it's not a video fx, it's found in soundfx
 

Inviato Wed 27 Apr 22 @ 3:45 pm
locodogPRO InfinityModeratorMember since 2013
A long text bug got pulled recently so I have an update waiting for atomix approval
added text string suffix as well as prefix
Padpage tweaked see post about it ^up there^
 

Inviato Mon 30 Jan 23 @ 8:12 am
locodogPRO InfinityModeratorMember since 2013
Changes are live.
 

Inviato Wed 01 Feb 23 @ 7:29 am
locodogPRO InfinityModeratorMember since 2013
Working with a couple of karaoke people, added a SWAP button.
It covers every possibility for getting a song out of the live karaoke list sent to working list, swapped with a song from working list into karaoke live list.

I'm going to give it a couple of weeks testing before submitting to atomix.
 

Inviato Fri 03 Feb 23 @ 5:34 pm
Without Narration on the video, I still don't understand what this app is. Please dumb it down for people such as me... I don't understand anything you have on the video or the text. What is it suppose to be doing that the VDJ one doesnt already do now. Not trying to be an a-hole but I'm a little frustrated as it does not look easy to figure out.
 

Inviato Mon 06 Feb 23 @ 9:57 pm
locodogPRO InfinityModeratorMember since 2013
do this

Me wrote :
Run the fx from master FX section.
Turning on the FX on will create "workingList" in your karaoke history.
This is the folder you will be working from. If you forget to set karaoke venue and wish to, set the venue name then give the fx a quick off & on [will change workingList location and where it looks for singer history]Add songs with singers & key change to this list, [just drag them in, from history or from a search whatever]
Press button 1 to send from working list to actual karaoke list.



And it will do this

me wrote :
As songs are loaded as part of usual karaoke use, button 1 will be pressed automatically. [updating the karaoke list with any new singers, and replacing any placeholders if possible]
Only works with karaoke running.


it's a singer rotation manager, it's something vdj does not do.
 

Inviato Mon 06 Feb 23 @ 10:13 pm
Ikaraoke wrote :
Without Narration on the video, I still don't understand what this app is. Please dumb it down for people such as me... I don't understand anything you have on the video or the text. What is it suppose to be doing that the VDJ one doesnt already do now. Not trying to be an a-hole but I'm a little frustrated as it does not look easy to figure out.

I think the video that is at the top now - by DJ2legit and with narration - may help
 

Inviato Thu 09 Feb 23 @ 4:55 pm
locodogPRO InfinityModeratorMember since 2013
Recent update, we found an edge case issue that was fixed.
Added some more buttons.
padpage updated for new buttons.
 

Inviato Mon 13 Feb 23 @ 7:52 pm
locodogPRO InfinityModeratorMember since 2013
update Dragging To Deck behaviour
3 options as found in pad menu


Dragging To Deck >> No Thanks +[deck master set $krmblp 0]
Dragging To Deck >> Swap +[deck master set $krmblp 2]
Dragging To Deck >> Replace +[deck master set $krmblp 1]

default behaviour
swap like behaviour
replace like behaviour

post with padpage updated
 

Inviato Thu 02 Mar 23 @ 6:22 am
The plug in doesn't do any automatic rotation for me and a lot of the functionality you see in the video doesn't. It does load the next singer in the deck after the previous singer's song finishes but that's it. It doesn't move the singer to the end of the list when their song is done and the placeholder function does absolutely nothing for me when it is on. Also the Insert button doesn't insert a new singer. The new name you try to insert instead changes on the last singer in the list. The List button doesn't move the singer from the working list to the karaoke list and the singer folders aren't added under the Working List directory. Latest version of VDJ installed.
 

Inviato Fri 10 Mar 23 @ 2:08 am
locodogPRO InfinityModeratorMember since 2013
rename your settings.xml
then restart
 

Inviato Fri 10 Mar 23 @ 2:42 am
When you say to rename it do you mean just change it so something like "settings.xml.old" so a new version is generated or something more specific?
 

Inviato Fri 10 Mar 23 @ 2:03 pm
locodogPRO InfinityModeratorMember since 2013
exactly that.
 

Inviato Fri 10 Mar 23 @ 2:19 pm
Thanks for the help. That worked at least for my show last night. It's a great add on. Today however it does something different so I would be cautious using this at gigs right now. I'm gonna wait til further builds. Today when I used it after changing nothing from last night, it will not move the singer to the end as a place holder it just deletes them ("remove karaoke song when played" is not set in my config, I haven't changed anything in my settings from last night). As it deletes that song it changes the next song in rotation's singer to the name of the singer who just sang almost as if you were doing a swap. It's too bad because it's a super convenient plug in but I have tried restarting it several times and using different methods to load songs and it still has the bug.
 

Inviato Sun 12 Mar 23 @ 4:41 pm
27%