You are on page 1of 55

---------------------------------------------------------------------------------------------------

Quick start and get a track playing

--------------------------------------------------------------------------------------------------Insert cd and run RPMInstall.exe


Follow the prompts to complete the install.
To play a track we first need to add tracks to the record case.
there are multiple ways to do it.
Menu File/Add file to library, Alt+O
Menu File/Add folder to library, Alt+F
or
drag and drop files onto the recordcase area. (if you drag and drop a folder a smart list will
automatically be created).
RPM will now scan the tracks for perceived audio level, bpm and beat information.
This is to enable perfect mixing, if you don't want it to autos can this can be turned off in the Menu
Edit/Preferences dialog.
Click on the track you want to load in the record case
Load a player either by drag and drop, pressing load on the player, or

right click and select load player A, B or C.


Alternatively use keyboard shortcuts 1,2 or 3 on the numerical keyboard.
Start playing by clicking "Play" or
F2 (Player A), F6 (Player B), or F10 (Player C)
Stop by clicking "Cue" or
F1 (Player A), F5 (Player B), or F9 (Player C)
So now you know how to play tracks. To learn more on how to use RPM refer to the RPM Manual pdf
on the CD.

RPM Manual for version 1.2


-------------------------------------------------------------------------------------------------------

Selecting what soundcard to use


Using external or internal mixer
Setting a custom File path for your Database (recordcase)
Changing RPM colors using themes
Sharing themes with other RPM users
Changing RPM layout
Connecting external midi/hid/serial controllers
Use one external controller for all players
Mapping an external HID or MIDI controller to RPM
Mapping a MIDI controller to RPM
Analyzing, reading and writing midi data to a controller
Mapping a HID controller to RPM
Advanced RPM controller mapping
Using a debugger to debug RPM controller lua code
How to register RPM
Moving RPM license to another computer or changing computer hardware
Using multiple versions of RPM at the same time
Using 3rd party applications with RPM
I messed up all the settings, how do I start over?
Adding tracks to the recordcase
Making playlists and groups
Export/Import playlists to/from other programs
Deadlinks and how to handle them
Using external hardrives and memsticks with RPM
Listen to a track in headphones using internal mixer
Listen to a track in headphones external mixer
Using compressors, eq's, etc, on soundcard outputs
Autoplay and how you can use it
How to see what has already been played
How to update recordcase when new tracks have been copied to the harddrive
Searching for tracks in the recordcase
Find out what was played during the night
Matching tracks bpm when mixing
Match bpm and keep tracks in sync when mixing
Bpm and/or beatgrid is not correct, how do I fix it?
The beatgrid is correct in tempo, but its markers are shifted/not located right
Saving a cued position in a player
Making and using loops in a player
Using filter on a player
Using vst plugins on player
Using player effects
How to connect a turntable and use timecoded vinyl/cd to control RPM

3
4
4
5
6
6
6
17
17
18
20
23
27
28
30
30
30
30
30
31
31
33
34
35
36
37
38
39
40
41
41
45
46
47
49
50
51
51
52
53
54
55
2

* Selecting what soundcard to use


When RPM is installed its uses a default setting that will work on most computers, but to get the best
results, soundcard and latency should be selected.
Select menu/Go to menu/file/preferences or Alt+C to open the setup dialog and select the 'Audio" tab.

Locate the soundcard to use in the combo box and if possible, use its ASIO driver for best results.
If you don't have an asio driver use the latency slider while playing a track, to set it to the lowest value
until audio starts to crackle and pop.
If you have an asio supported soundcard, click on the "Control Panel" button to set soundcard latency
(audio buffer size)

* Using external or internal mixer


RPM can use both internal and external mixer, when set to external mixer, each soundcard output
will be one player.
To change to external mixer got to the "Output" tab in preferences and check Use external mixer"
and then select each of the players outputs.

* Setting a custom File path for your Database (recordcase)

RPM automatically uses the default music directory to place the db file within but if you want to
choose your own location you hold shift while starting rpm and it presents you with a dialog where
you can select the location, this is good in situation where you want your db on an external music
drive and want to use the same db with more than one computer, so you dont have to keep updating
your computers with newer dbs you just set rpm to that location on each of your computers.

* Changing RPM colors using themes


RPM themes let you change any colors on the user interface.
This way you can easily make different themes for different situations, example would be a bright
theme for outside use
in sunny weather, and dark ones for inside a club etc.
You find the theme setting on the "Theme" tab.
To create a new theme simply click "Add theme" then use "select gui element" and
"Color property in element" to select what you want to change.
First you select gui element, and then a property in that element.
The left color slider control brightness, top = all bright, bottom = all dark, middle = normal light
The big color square is where you select which color to use.
The alpha controls transparency of the selected color, and the red, green, blue and alpha
edit boxes shows current color values, you can also type in values in those edit boxes.
Once you are done editing, dont forget to click "Save"
The color banks are for saving favorite colors, after finding your color click "Set" to store color into the
marked box. Now when clicking on that box the color will change, to select a new box without
changing color, hold down the shift key and click.

* Sharing themes with other RPM users


5

To share themes with other RPM users, you use the "Export" function, it will present a save file box so
you can save it. For others to use it, they click "Import" and that uses a regular open dialog to locate
the new theme file.

* Changing RPM layout


RPM has many different panels for various functions, if you don't use some of them you can make the
screen less cluttered, by hiding modules.
Effect, Plugins, Filter, Vu panel and internal mixer can all be hidden, and players can be minimized
showing only the title bar.
Use Menu/View to change screen layout.

* Connecting external midi/hid/serial controllers


RPM supports external midi/hid and serial controllers, we constantly add more controllers to use with
RPM and the only thing needed to connect is to plug them in. RPM will auto detect them and connect,
no setting changes needed, its fully automated.
Here is a list of currently supported controllers:

Denon 1200,2000,2500,3700,4500,5500
Dmc1, Dac2,Dac3,
EKS Xp10,
Hercules Steel, and ION Discover DJ

Button assignments for:


Denon 1200,2500,3700,4500 and 5500
Rotary push
Back+Rotary push (1200 only)
Playlist+Rotary push
Back+Left Rotary push (4500 only)
Back+Right Rotary push (4500 only)
Rotary push in mixer mode
Flip+Rotary push, playing
Flip+Rotary push, not playing

= Load selected track


= Expand/collapse group
= Expand/collapse group
= Mix now
= Toggle autoplay
= Resets pitch to zero
= Set store pos for current cue
= Unload player

DiscEject
MirrorMix (5500 only)
Play
Flip+Play
Time+Play

= Toggle Cue/Play button mute effect on/off


= Toggle Cue/Play button mute effect on/off
= Toggle play/pause
= Retrigger from current cue position
= Sync playstart with beat of any other playing player (same
as with quantize on), this way you never miss the beat

Cue, playing
Cue, not playing
and then let go of Cue
Back+Cue
Back+Cue(stutter play)

= Stop and set position to current cue


= Start playing (sampling), to continue playing press Play
= Go to auto cue position (when not in stutter play)
= Save to active cue memory instead of temp cue memory

Alternative rotary mode.


The alt rotary mode works on all Denons, but not all functions are available on all models.
To toggle Alt rotary mode, hold down Back button and press Exit Loop, a message will flash indicating
its status.
This is player independent so you have to do on each player separate.
This is saved in prefs so you only have to do it once.
Commands:
On the 5500 and 3700 the effect rotary changes function so it selects cue memory without triggering
them
To trigger a cue mem you can press the Effect rotary
The A1 and A2 button changes so they store cues in cue mem 1 and 2, if they are empty else they
trigger cue 1 and 2.
Back button+ A1/A2 saves to currently active cue.
Flip+A1 creates a 4 beat loop in Cue1 and Flip_A2 marks a loop start.
This way you can save 2 loops in a1 and a2 and jump between them
Display (3700 only)
Display Mode (5500 only)
Back+Flip (1200 only)
Layer (5500 only)

= Step control to next player


= Step control to next player
= Step control to next player
= Toggle layer for player control

Brake
Dump
Dump (short tap)

= Toggle brake effect


= Dump on effect
= Toggle Dump effect

Reverse
Fwd/Both switch (5500 only)

= Toggle reverse play


= Select on/off mute on reverse scratch

JogMode
= Toggle Bend/Scratch mode
Platter source (5500 only)
= Toggle Bend/Scratch mode
Platter mode (3700 only)
= Toggle Bend/Scratch mode
Back+JogMode
= Delete selected track from waitlist
Back+Platter source (5500 only)
= Delete selected track from waitlist
Back+Platter mode (3700 only)
= Delete selected track from waitlist
Flip+JogMode, playing (2500,4500 only) = Toggle Play/Cue mute effect on/off
Jog Mode, mute effect on
= Turns mute effect off
Press and hold down jogmode
When in bend mode
= Opens bend configuration screen
When in bend configuration, select setting by pressing rotary button (bend strength, auto inc and
jump)
Strength:
degree of bend when using jogwheel, higher value=more bend
Auto inc:
speed the bend increases/decreases when holding down bend buttons
Jump:
jump in seconds when tapping on <<(Ffwd) and >>(Frev) buttons
Press and hold down jogmode
When in scratch mode
= Opens scratch configuration screen
Inertia: The inertia of scratch when to starting up from standing still, higher value=more weight
Stroke: The amount of movement jog will affect the play cursor, higher value=moves more
Dir:
Both or fwd only, if fwd only, audio will mute on reverse
Keylock: When in timestretch and if on, scratch will use timestretch for scratch and not pitch.
Effect rotary push (5500 only)
= Toggle HQ timestretch if pitchshift is on,
Key adjust (3700, 5500 only)
= Turn on timestretch
Pitch range
= Turn off timestretch
Press and hold down pitch range
= Opens pitch configuration screen
When in pitch configuration, use rotary to select pitch range
Bend +,- playing
Bend +,- stutter mode
Bend +,- not playing
Bend +,- paused
Time+Bend +,Back+Bend +,-minus
ContSingle+Bend +,Flip+Bend +,- playing
Flip+Bend +,- not playing
Time
Flip+Time
Back+Time (1200 only)
Title
Flip+Title

Back+Title (1200 only)


<<, >>
Flip+<<, >> playing
short tap on <<,>>
Back button in mixermode
Next Track
Playlist

= bend according to bend strength


= move play pos
= move play pos 200 samples
= start stutter mode
= switch bpm/pitch display
= Focus waitlist/smartlist and tracklist
= Step play pos 1/2 beat
= Step play pos 1 beat
= Step cue pos 1 beat
= Toggle elapsed/remain
= Toggle Frame/Sec display
= Toggle smartlist on/off
= Show full title by scrolling, 2nd press to cancel scroll
= Toggle mixer mode, uses pitch as volume (internal mixer)
and when playing rotary controls pitch, push rotary to reset
pitch to zero. To show title in mixermode, hold down title
button.
= Toggle waitlist on/off
= Fast fwd and frev
= Step 16 beats
= jump 10 seconds
= Toggles mixer cue channel /on/off
= Mix now
= Waitlist on/off

Flip+Playlist
= Toggle 3rd playermode, using 2500,4500 to control the 3rd
player
Back+Playlist
= Smartview on/off
Loop/2 and LoopX2 (3700 only)
= Cut/Expand loop
Flip+Loop/2 and Flip+LoopX2 (3700 only)= Moves loop
on 4500,1200, and 2500:
Flip+A2 while turning rotary when looping will move loop in 1mS steps
Flip+B while turning rotary when looping will change loop length in 1mS steps
on 5500 and 3700:
Flip+A/B trim while turning rotary when looping will move loop in 1mS steps
A/B trim while turning rotary when looping will change loop length in 1mS steps
CLR1,CLR2,CLR3 (3700 only)
Hotstarts 1-5, empty
Hotstarts 1-5, saved
Back+Hotstarts 1-5
LoopExit+Hotstarts 1-5
Flip+Hotstarts 1-5
alredy been saved
Auto loop set (3700 only)
Auto loop exit (3700 only)
A1
A2
B
loop, it cuts its size by half
Exit/Reloop
NOTE: it triggers on button RELEASE.
Memo
Back+Memo
Flip+Memo
Tap/Sync
on, lock is turned off
Flip+Tap/Sync
Tap/Sync Press and hold>0.5 sec
ContSingle+Tap/Sync
Effect 1 (4500 only)
Brake
Press and hold down Effect1/Brake
Brake: speed of slowdown
Drag: speed of startup
Effect 2 (4500 only)
Effect 3 (4500 only)
Filter
Flip+Filter and timestretch on
Flip+Effect 3 and timestretch on
this mode resets pitch shift to zero
Flip+ContSingle (4500 only)
JogWheel, not playing
PlayList+JogWheel, playing
Jogwheel, filter mode
Flip+Jogwheel, filter mode
Flip+Jogwheel, not playing
Jogwheel, paused mode

= clear hotstart 1,2 and 3


= instant save
= jumps to saved position
= clear hotstart
= copy loop to hotstart
= Always instant save new pos, even when a hotstart has
= Make 4 beat loop
= Exit loop
= Create 4 beat loop
= Mark beginning of a loop
= End loop, if A2 has been pressed, if already running a
= Exits loop, or if not looping jumps in to last used loop,
= Set pos for 'Temp cue'
= Delete current cue
= Add new cue to cuelist
= Player A match to B, C match to A, B match to A, or if lock
= Player A match to C, C match to B, B match to C
= Turns on Quantize and lock for the player
= Turns on Quantize and lock for the player
= Toggle Brake effect
= Toggle Brake effect
= Opens brake configuration screen

= Dump effect, tap for toggle


= Toggle filter mode on/off
= Toggle filter mode on/off
= Toggle rotary turn to control pitchshift, and a rotary push in
this mode resets pitch shift to zero
= Toggle rotary turn to control pitchshift, and a rotary push in
= Toggle quantize on/off
= Select track
= Select track
= Change freq
= Change filter dry/wet
= Start stutter edit
= Start stutter edit

Jogwheel, stutter edit mode


Jogwheel, bend mode
Jogwheel, scratch mode

= Change play position


= Bend force
= Scratch

Rotary efx, filter mode (3700, 5500 only)


Flip+Rotary efx, filter mode (3700, 5500 only)
Rotary
Rotary, cfg screen mode
Rotary, pitch shift mode
Rotary, looping
Shift+Rotary, looping
Time+Rotary
Rotary, mixer mode
Flip+Rotary
Back+Rotary turn (1200 only)
Playlist+Rotary
Slider
Flip+Slider
Slider, mixermode

= Change freq
= Change Wet - Dry

= Select track
= Select param to change
= Change pitch shift
= Cut/Expand Loop
= Move loop
= Change master section bpm slider
= Change pitch/tempo
= Select player cue memory
= Select playlist
= Select playlist
= change pitch or tempo
= change pitch or tempo 100% range
= player volume

--------------------------------------------------------------------------------------------------------------------------------------Button assignments for:


Denon 2000
Fx1
Fx1DryWet
Fx1Param1
Fx1Param2
Fx1Param3
Shift+Fx1Param1
Shift+Fx1Param2
Shift+Fx1Param3
Fx1Param2Push+Fx1Param2
Fx2
Fx2DryWet
Fx2Param1
Browser
Duplicate
Previous
Next
TrackSelect
Shift+TrackSelect
TrackSelectPush
Shift+TrackSelectPush
Shift+Plus
Shift+Minus
KeyLock
Shift+KeyLock
Sync
Shift+Sync
Cue1 to Cue8
Shift+Cue1 to Cue8
Pitch bend + Shift + <<
Shift + >>

= Tone filter on/off


= Wet level
= Low ampl
= MId ampl
= High ampl
= Low freq
= MId freq
= High freq
= Mid bandwidth
= Low pass filter on/off
= Wet level
= Freq
= Smartview on/off
= Waitlist on/off
= Focus tracklist
= Focus smartview/waitlist
= Select track in focused list
= Select playlist
= Load player
= UnLoad player
= Add selected track to waitlist
= Delete selected track from waitlist
= Toggle timestretch
= Toggle quantize mode
= Match to running player
= Lock to master section tempo
= Jump to hotstart, or create if non saved
= Clear hotstart
= Bend
= Scratch jog mode
= Bend jog mode

10

Jogwheel

= if not playing selects track, else scratch/bend or stutter edit


if paused
= if not playing page step tracks
= Stop to cue or cue play, press play while holding down cue
to continue
= Play/Pause
= Change pitch/Tempo +-10%
= Change pitch/Tempo +-100%
= Fast fwd/rev, short tab jump 16 beats, or 10 sec if track not
scanned
= Make loop, LoopOut is also used for exitloop/reloop
= Create 4 beat loop
= Cut by 2/Expand loop 2X
= Move loop 1/2 beat
= Adjust loop length in 5mS steps

Shift + Jogwheel
Cue
Play
Slider
Shift + Slider
<< and >>
LoopIn,LoopOut
AutoLoop
Minus,Plus
Filter
Shift+Filter

---------------------------------------------------------------------------------------------------------------Button assignments for:


Dmc-1, Dac2
Load
Waitlist+Load
Group+Load
FX
Waitlist+FX
Loop+FX
Group+FX
Shift+FX
Waitlist
Group+FX
Group+Cue
Group, short tap in mixer mode
Preview+Match
Preview+Fx
Preview
Group+Match
Waitlist+Match
Match, short tap

= Load selected track


= Toggle elapsed/remain
= Toggle 3rd player mode
= Filter on/off
= Toggle Waitlist focus
= Dump effect, short tap for toggle
= Toggle quantize on/off
= Toggle bpm/pitch display
= Show/hide waitlist
= Toggle HQ timestretch
= Delete cue pos
= Mixer cue on/off
= Sync to master section
= Make 4 beat loop
= Exit/Reloop
= Toggle Mixer mode
= Toggle smart view
= Sync to

Match, short tap

= Player A match to B, C match to A, B match to A, or if lock


on, lock is turned off
= Player A match to C, C match to B, B match to C
= Stop and set position to current cue
= Start playing (sampling), to continue playing press Play
and then let go of Cue
= Save cue pos
= Add new cue mem
= Brake
= Toggle play/pause
= UnBrake
= Retrigger from current cue position
= Bend
= Move cue pos
= Start stutter edit
= Create 4 beat loop
= Toggle quantize

FX+Match
Cue, playing
Cue, not playing
Shift+Cue
Group+Cue
FX+Cue
Play
FX+Play
Shift+Play
Bend +,minus
Bend +,minus
Bend +,minus
Loop + bend minus
Loop + bend plus

playing
not playing
paused
not looping
not looping

11

Loop + bend minus


looping
Loop + bend plus
looping
FX+ bend +,- when in filter mode
Group + bend +,Waitlist + bend +,Shift + bend +,<<, >>
FX+ <<, >>
Outer jogwheel
Slider
Shift+Slider
Slider mixermode
waitlist+fx+inner jogwheel in filter mode
waitlist+inner jogwheel in filter mode
shift+inner jogwheel in filter mode
fx+inner jogwheel in filter mode
fx+inner jogwheel not filter mode
Jogwheel not playing
Loop+Jogwheel looping
Jogwheel playing
Group+jogwheel

= cut loop
= extend loop
= Select filter type
= Step playlist
= Step play pos 16 beats
= Step play pos 1 beat
= Step active cue
= timestretch on, off
= fast fwd and frev
= pitch/tempo
= pitch/tempo 100%
= volume
= filter bandwidth
= filter amplitude
= filter freq
= filter wet/dry
= pitch shift (when timestretch is on)
= Scroll recordcase
= Move loop
= Bend
= Scroll recordcase

--------------------------------------------------------------------------------------------------------------------------------------Button assignments for:


Dac3
Load
Apply+Load
Time
Waitlist
Auto+Waitlist
Shift+Waitlist
R
Shift+R
M
Shift+M when timestretch is on
Apply+Match
Match
Shift+Match
Match Press and hold>0.5 sec
Auto+Match
Apply+Bend +.- when filter is on
FX+Bend +,when filter is on
Folder+Bend +,Time+Bend +,Waitlist+Bend +,Shift+Bend +,- when playing
Shift+Bend +,- when not playing
Bend +,playing
Bend +,not playing
Bend +,paused
HotStarts (1-10)
Shift+HotStarts (1-10)
Cue+HotStarts (1-10)
Reloop+Hotstart when looping
Hotstart 10
when in mixermode

= Load selected track


= Toggle 3rd player mode
= Toggle elapsed/remain
= Toggle waitlist
= Toggle quantize
= Toggle smartview
= Dump effect, short tap for toggle
= Toggle Reverse play
= Toggle timestretch
= Toggle timestretch HQ mode
= Toggle mixer mod (loop in led blinking=mixer mode on)
= Player A match to B, C match to A, B match to A, or if lock
on, lock is turned off
= Player A match to C, C match to B, B match to C
= Turns on lock for the player
= Turns on lock for the player
= Bandwitdh
= Step filter type
= Step active cue
= Change Bpm/pitch display
= Step play pos 16 beats
= Step play pos 1 beat
= Step cuepos 1 beat
= Bend
= Move cue pos
= Start stutter edit
= Jump to saved pos
= Save play pos to hotstart
= Delete hotstart
= Save loop to hotstart
= Mixer cue on/off

12

Apply+In
In
Shift+In
when looping
Auto+In
Out
when not looping
Out
when looping
Shift+Out
when looping
Shift+Reloop when looping
Reloop
FX
Apply
Shift+Jogwheel when filter control is on
Jogwheel when filter control is on
Apply+Up/down in filter mode
Folder+<<
Folder+>>
<<,>>
<<,>> short tap
Shift+<<,>>
Up,Down
Cue+Folder
Shift+Folder
Folder
CP+Jogwheel
Cue, playing
Cue, not playing
Shift+Cue
Play
Shift+Play
MixNow
Shift+MixNow

= Brake effect
= Loop start
= move loop back
= Create 4 beat loop
= End of loop
= Cut loop /2
= Expand loop X2
= Move loop forward
= Exit loop or loop again
= Toggle filter mode
= Toggle filter control on/off
= Wet/dry
= Filter Freq
= Filter amplitude
= Delete from waitlist
= Add to waitlist
= Fast fwd,rev
= Jump 10 sec
= Jump 16 beats
= Step playlist
= Delete current cue
= Switch track/waitlist focus
= Expand/collapse group
= Scratch
= Stop and set position to current cue
= Start playing (sampling), to continue playing press Play
and then let go of Cue
= Save cue pos
= Toggle play/pause
= Retrigger from cue pos
= Mixnow function
= Toggle autoplay

---------------------------------------------------------------------------------------------------------------------------------------

Button assignments for:


Xp10
Load
Menu+Load
Menu+Playlist
Playlist
A,B,C,D
PitchMode
Menu+PitchMode
PlayMode+PitchRange
Playmode press>0.5 sec
Playmode
Menu+Playmode
JogTouch
Cue+Menu
Playlist+up,down
Menu+up,down

= Load selected track


= Unload track
= Toggle quantize
= Select track/waitlist focus
= Switch control to player, A,B,C and caseplayer
= Toggle timestretch
= Toggle HQ timestretch
= Lock player to master
= Lock player to master
= Player A match to B, C match to A, B match to A, or if lock
on, lock is turned off
= Player A match to C, C match to B, B match to C
= Scratchon
= Delete current cue
= Step playlists
= Step player cuelist

13

Menu+Ok
OK+up,down
Playmode+up,down
Up, down
when playing
Up, down
not playing
Up, down
paused
Playlist+<<,>>
<<,>>
<<,>> short tap
Menu+<<,>> short tap
Menu+In
In
Out
no looping
Out
looping
Menu+Out
looping
Reloop
SwitctDir
OK+SwitchDir
BrakeSpinn
Menu+Cue
OK+Cue
Play
Menu+Play
Slider
OK+Slider
Menu+Slider
when locked to master
Slider
when quantize+lock on

= Expand/collapse group
= Jump 16 beats
= Jump 1 beat
= Bend
= Move cue pos
= Start stutter edit
= Toggle waitlist/smartview
= Fast fwd and rev
= Jump 5 sec
= Jump 10 sec
= Create 4 beat loop
= Loop start
= End loop
= Cut loop /2
= Expand loop X2
= Exitloop or reloop
= Dump effect, tap for toggle
= Toggle play reverse
= Toggle Brake effect
= Set cue pos
= Add new cue mem
= Toggle play/pause
= Retrigger from cue pos
= Change pitch/Tempo
= Change pitch/Tempo 100% range
= Change master section BPM
= Change beat grid phase

---------------------------------------------------------------------------------------------------------------------------------------

Button assignments for:


Hercules Steel
Player control
-------------------Cue
Play
Stop
Bend +,<< >>
sec
Sync
Btn 1-3
Btn 4
Btn 5

= Stop to cue when playing, sample play if not playing, to


continue press PLAY before releasing CUE
= Toggles play pause
= Stop and sets player position to beginning of track
= Bends +, = Holding down = Fast forward/reverse, short tap = jump 10
= Short tap = syncs to other player, long hold down =
enables lock and quantize mode
= Hotstarts, if not lit up (saved) it will save current playing
pos to button, to delete, SHIFT+1,2 or 3
When save just press to jump to saved position.
= Create 4 beat loop at current playpos
= Cut loop length to half

14

Btn 6

= Exit loop/Reloop, NOTE: triggers on release, not press.


While looping holding down SHIFT and using rotary 1 and 2,
loop length and loop position can be changed.

Btn 7
Btn 8
Btn 9
Btn 10
Btn 11
Btn 12
key (pitch shift)
Slider
Gain knob
Jogwheel

= Toggle brake effect (can be cancelled by hitting PLAY)


= Toggle quantize
= Toggle timestretch
= Toggle play direction
= Toggle lock
= When held down and time stretch is on, rotary 1 controls
= Sets pitch/Timestretch +- 10%
= Adjust player gain
= When not playing it scrolls recordcase, when player is
paused, it stutter edits.
To scratch hold down the SCRATCH button and release
SCRATCH button to turn off scratch, you can release the
button before jog wheel has stopped, and the scratch will
stay enabled until jog reaches 1.0 speed or if in reverse,
reaches 0 speed.
To make scratch a toggle, use SHIFT+SCRATCH.

Mixer control
------------------LoadA, LoadB
Cue select
Scratch
Up,Down
Folder
Files
Low, Mid, Treble
Kill
Balance
Vol A,Vol B
Main Vol
Crossfade
Monitor
Vol
Apply Ctrl On

= Loads selected track player


= Toggles cue listen on.off on mixer
= Used as combination key with player command
= Steps tracks/playlists in recordcase/playlist
= Select recordcase to step playlists, if already in playlist, it
toggles expand/collapse group, if a group is selected
= Select recordcase to step tracks
= Tone control filter amplitudes +- 16 db range
= Hold down and use rotary 1 and 2 to change freq and
bandwitdth in tonecontrol, bandwith is only affecting the mid
filter.
= Changes crossfader profile
= Player volumes in mixer
= Mixer main volume
= Crossfade
= Cue pgm mix value
= Headphone volume
= (not used for anything, the led select A,Select,B, does not
matter, RPM ignores it, does not affect rotary functions)

Button assignments for:


ION Discover DJ
Player control
-------------------Cue

= Stop to cue when playing, sample play if not playing, to


continue press PLAY before releasing CUE

15

Play
Sync
Rev
Pitch +, Jogwheel
Mixer control
------------------LoadA, LoadB
Scratch
Low,Treble
Master Vol
Vol A, Vol B
Crossfade
Rotary

= Toggles play pause


= Short tap = syncs to other player, long hold down =
enables lock and quantize mode
= Toggle play direction
= Steps pitch in 0.2% steps, to reset, hold down both + and
buttons
= When not playing it scrolls recordcase, when player is
paused, it stutter edits. If scratch is on it will scratch, else
bend
= Loads selected track player
= Toggle scratch mde on/off
= Tone control filter amplitudes +- 16 db range
= Changes crossfader profile
= Player volumes in mixer
= Crossfade
= Select track/playlist in recordcase, push to toggle
recordcase/playlist select

---------------------------------------------------------------------------------------------------------------------------------------

Keyboard shortcuts
Esc
Enter when in searchbox
Arrow up, down
Ins when in tracklist
Tab
Shift+Tab
Del
Alt+NumKeyboard 7
Alt+NumKeyboard 8
Alt+NumKeyboard 9
Ctrl+NumKeyboard 4
Ctrl+NumKeyboard 5
Ctrl+Arrow up,down
NumKeyboard Mult
NumKeyboard Plus
NumKeyboard Minus
NumKeyboard Div
Ctrl+m
Ctrl+space
Ctrl+comma
Ctrl+period
Ctrl+slash

= Focus search box


= Perform search
= Step tracklist or waitlist
= Add track to waitlist
= Step focus, playlist,search,tracklist,wait/smart view
= Step focus reverse order
= Delete track from waitlist or tracklist
= Toggle smartview
= Toggle waitlist
= Focus search box
= Focus tracklist
= Focus waitlist/smartview
= Step playlist
= Case player fast fwd
= Case player play
= Case player stop
= Case player fast rev
= Toggle autoplay
= Mix now
= Match master to player A
= Match master to player B
= Match master to player C

16

Alt+shift+i
Ctrl+Shift+u

= Get track info


= Import m3u

Player A (B, C)
------------Alt+Ctrl+F3 (F7, F11)
Alt+Ctrl+F4 (F8, F12)
F1 (F5, F9)

= Step -1 active cue (no play pos jump)


= Step +1 active cue (no play pos jump)
= Stop to cue when playing, sample play if
not playing, to continue play press F2 (F6, F10), before
releasing F1 (F5, F9)
Ctrl+Shift+F1 (F5, F9)
= Jump to auto cue
F2 (F6, F10)
= Toggles play pause
Ctrl+Shift+F2 (F6, F10)
= Beat synced play start
F3/F4 (F7/F8, F11/F12)
= Bend 2%, stutter edit if paused, moves cue if stopped at
cue pos
Shift+F1 (F5, F9)
= Store current pos in active cue
Shift+F2 (F6, F10)
= Instant play from cue pos
Shift+F3/F4 (F7/F8, F11/F12)
= Fast fwd and rev
Ctrl+F3/F4 (F7/F8, F11/F12)
= Beat step 1 beat
Ctrl+Shift+F3/F4 (F7/F8, F11/F12)
= Beat step 16 beats
Ctrl+1/2/3/4 (5/6/7/8, 9/0/-/=)
= Hotkey 1-4
Shift+Ctrl+1/2/3/4 (5/6/7/8, 9/0/-/=)
= Save to hotkey 1-4
Ctrl+Q (T, O)
= Create 4 beat loop
Ctrl+W (Y, P)
= Loop exit, reloop
Alt+Ctrl+Q (T, O)
= Start loop
Alt+Ctrl+W (Y, P)
= End Loop (if looping then cut loop in half)
Ctrl+Shift+Q/W (T/Y, O/P)
= Step pitch shift 0.1 semitones
Ctrl+Shift+E/R (U/I, Lbracket/Rbracket) = Move loop
Ctrl+E/R (U/I, Lbracket/Rbracket)
= Cut, Expand loop
Alt+Ctrl+E (U, Lbracket)
= Move loop 1mS back
Alt+Ctrl+R (I, Rbracket)
= Move loop 1mS fwd
Alt+E (U, Lbracket)
= Cut loop 1mS
Alt+R (I, Rbracket)
= Expand loop 1mS
Ctrl+A
= match player A to player B
Ctrl+Shift+A
= match player A to player C
Ctrl+F
= match player B to player A
Ctrl+Shift+F
= match player B to player C
Ctrl+J
= match player C to player B
Ctrl+Shift+J
= match player C to player A
Ctrl+S (G, K)
= Toggle quantize
Ctrl+D (H, I)
= Toggle lock to master section
Ctrl+Shift+S (G, K)
= Toggle timestretch
Ctrl+Shift+D (H, L)
= Toggle HQ timestretch
Ctrl+Z/X (C/V, B/N)
= Step pitch 0.5%
Ctrl+Shift+ Z/X (C/V, B/N)
= Step pitch 0.1%
Ctrl+comma (period, slash)
= Reset pitch
Ctrl+semicolon (simgle quote,backslash)= Toggle timecode
Alt+F1 (F5, F9)
= Load selected track
Alt+NumKeyboard 1 (2, 3)
= Load selected track
Ctrl+NumKeyboard 1 (2, 3)
= Unload track
---------------------------------------------------------------------------------------------------------------------------------------

* Use one external controller for all players


When using single controllers, you can change which player to control on the fly, each controller gets
it own color that is shown in the panel title so you know which player its controlling, depending on

17

what controller you use they each use one button to do the control step. For example on most
Denons its the "Display" button.
---------------------------------------------------------------------------------------------------------------------------------------

* Mapping an external HID or MIDI controller to RPM


Rpm has a very powerful external control mapper, here is a list of some of its features:
* Built in step by step design with help text to guide you
* Easy learn function, click learn and it will detect your control changes
* No programming knowledge needed, mapper auto creates the script code
* Can apply changes as you go, so you can test without having to do RPM restarts
* Easy import/export of controller scripts for easy sharing
* Maps both MIDI and HID controllers
* Supports output to text displays and leds
* Scripts are auto detected in RPM, so once done, it becomes plug and play
* Allows for replacing of native controllers
* Programmable, uses LUA language, write your own controller additions to RPM.
* Fast, no compromise in speed, native or lua mapped, the speed is the same
* Unlimited number of controllers can be connected (max 16 of the same type)
* Full access to the RPM sound engine for advance users
* Data viewer and sender, so you can see, send data and analyze controller data and functions
* Supports external LUA debuggers so you can step your lua code
* Comes with lua source and examples, all available from with in the mapper
* Includes led and text api for:
DN_HC1000S,DN_S1200,DN_HD2500,DN_S3700,DN_HC4500,DN_HS5500,DN_MC6000,
DN_SC2000,PCDJ_Dac3, (PIO_CDJ900 and PIO_CDJ2000 will soon be added)
* Mapper extensions, add more features to the mapper, it will then show your added functions
* All created LUA code is platform independent, will run on both OSX and Windows
You find the mapper under menu: Window/Controller mapping
When selected, you will se this:

Its default disabled so you must enable it, once enabled it will create lua files that gives you access to
the RPM engine, it does this only once. Once enabled you click Create / Edit controllers maps
To create a controller map is easy, its 2 or 3 steps depending if you also adding led and display
support. The Step 1,2, and 3 text explains what you need to do in each step.

* Mapping a MIDI controller to RPM


Step 1:
In step 1, You start by clicking New and name your controller script.
Locate what controller to use, it must have a (Midi) prefix and then define all inputs (buttons, slider,
knobs etc).
Below is an example with the Denon DN-3700, now RPM already supports the 3700 natively but the
mapper will override the native support if a script is created for a native controller.

18

Import and Export button will make it easy for you to import a mapper done by someone else or to
export one you made, this way you never have to worry about mapper files being put in the wrong
place.
Once you have a working connection with the controller you need to define its inputs. You do that with
the Data type combo box, in it you will see all supported control types and the combo box to the right
of it, is the different modes each input can use.
Note for Windows XP only:
On windows xp, midi ports are just named USB Audio Device so there is an index combobox to the
left of the device combo box, so when using multiple midi controllers of the same type, you must
assign each instance separate. On XP you can only have 4 midi controllers of the same type
connected at the same time. For Win7 and OSX its 16.

When testing the inputs, Value test: should show a range -1 to +1, 0 to 1, or a text explaining the
input state, example, a button says Button Up, Button Down, and if it says down when it should be
up you can select mode Inverted to correct it. And you do all the other controls the same way.
After you test all types then you must detect and save all inputs. Select data type and click Learn
and follow the instructions given in the Detect data: listbox.
Once detected, you must save it. You can give each input its own name or let RPM autoname them.
After you saved an input you can test it by pressing/changing it and it will indicate in the Saved
names: listbox.

19

The Jogwheel sensitivity setting is the resolution to use, the lower the number the more sensitive it
will be, so you can adjust it while testing until you get the feel you want. It does not necessarily need
to be the actual jogwheel resolution.
Instance omni mode means that the learn function will ignore if you are pressing/changing button/
control on a 1st,2nd, or a 3rd, controller. Midi omni mode means it will ignore the midi channel if you are
mapping midi. You can use these options so you dont have to map each controller separately, of
course you dont have to, they are just there to speed up the mapping time, and not required to get
thing working its up to you. Using the commands select activeplayer/setplayerofs will then control
what player in RPM to control.
Manual assigned command does however always check instance and midi channel, and are
unaffected by set omni options.
See the Demo scripts on how it works.
The Manual button is used with inputs that needs to be added manually, it can be data from a
controller that is hard to use with the learn function or that simply is not triggered by an input change.
An example would be the scratch on detect for the 4500 Denon, it is very hard to use the Learn
function, since when you press on the jogwheel you will also get other jogwheel data.

You simply enter the midi data in hex comma separated. The instance number is most of the time 0,
but if you have 2 of the same controller plugged in the number for the second controller would be 1.
Instance count always starts on zero. You can also use the << -Edit button to edit a detected control
code.

* Analyzing, reading and writing midi data to a controller


If you need to analyze and test the controller, you can open the analyzer. Click View Data and RPM
will show a window with controller data and also an editbox so you can send data to the controller.
The example below, the send editbox will make the Playlist button led blink on the 3700.

20

With the checkboxes at the top you can turn off different parts of the data traffic coming from a script.
It can be useful when figuring out how some controllers work.

Step 2:
Here is where you connect controller inputs to functions, with Use shift key you can add multi key
support, so 2 buttons must be down before a function is called. The RPM section combo box filters
out what part of RPM you want to control, this is so you can find wanted function easier, and also
when selecting player(1) to player(3) it will also address the player directly. If you have a single
controller that you want to use for all 3 player then you select section: Players and the ActivatePlayer
function to select player. To quickly find wanted input just press /change the input on the controller
and the From controller: listbox will indicate it.

21

To assign a function you must select a controller input and a function and click Assign. When
clicking on a function you can read in the Info listbox info on what the recommended input type is and
a description of what the function does. You can assign multiple function to the same button/slider etc,
and select what order they should be execute by using the Moveup, Move down buttons. You must
click on the Assigned x text to enable those buttons and the UnAssign button.
To test you map, click Apply map.
Step 3:
This step is optional, if your controller does not have any leds or display there is nothing you can do
here, or if you simply dont care about outputs to the controller. RPM will work fine without this step.
To be able to turn on leds and send text to the display, you must listen to events that RPM sends out.
For example each time a player starts playing, RPM sends out an OnPlayer_Run event with value set
to 1 if its playing, and 0 if its stopped. Below is an example how to turn on the play led on a Denon
DN-S3700 when playing and turn it off when not playing. It uses the Display/Led api that simplifies
display functions. In the first window below, the api is initialized at OnSystem_AppStart telling RPM
to use the 3700 controller, and the second window is the code for turn the led on/off. You can also call
the midi port directly to switch the led on off. The two - - means that the text after it is a comment.

22

To make it easier to find what functions to use, click the Show/Hide util functions button. There you
can find all available commands in the display api. Use copy and paste to transfer code examples
from that page to the function box. Dont forget to click Save before switching to another event, or
you will loose your changes.

* Mapping a HID controller to RPM


Step 1:
In step 1, you start by clicking New and name your controller script.

23

Locate what controller to use, it must have a (Hid) prefix and then define all inputs (buttons, slider,
knobs etc).
Below is an example with the EKS XP-10, now RPM already support the XP-10 natively but the
mapper will override the native support if a script is created for a native controller.
Import and Export button will make it easy for you to import a mapper done by someone else or to
export one you made, this way you never have to worry about mapper files being put in the wrong
place.
The XP-10 is constantly sending the same data over and over when nothing is changed on the
controller, so we need to filter that out. We do that by checking the Ignore repeating data checkbox.

Another issue XP-10 has is that its slider is unstable, constantly sending slider data. The reason for
this is that the small values of the 4096 slider resolution are never stable. To fix that we use RPMs
hid filter functions. Filter functions allows us to filter out entire bytes or parts of bytes in the incoming
HID data to get it to be clean and stable. To find what byte in the incoming data stream that is
unstable we use the data analyzer, click View data to open the analyzer window.

24

Opening the window it constantly scrolls with massive amount of data, so we uncheck the In data
checkbox to make it stop. We can now see that data byte 4 (starting on 0) is the byte that is unstable.
So to fix that, click Data filters and the Detected data listbox changes to Data filters.
Click add filter and enter 4,255 that will filter out the entire byte. The filter simply uses a bit and
function to filter its data, so by using 255 (binary all ones) the entire byte will be ignored.

25

Once you have a working connection with the controller you need to define its inputs. You do that with
the Data type combo box, in it you will see all supported control types and the combo box to the right
of it, is different modes each input can use.
When testing the inputs the Value test: should show a range -1 to +1, 0 to 1, or a text explaining the
input state, example, a button says Button Up, Button Down, and if it says down when it should be
up you can select mode Inverted to correct it. And you do all the other controls the same way.
After you test all types then you must detect and save all inputs. Select data type and click Learn
and follow the instructions given in the Detect data: listbox.
Once detected, you must save it. You can give each input its own name or let RPM autoname them.
After you saved an input you can test it by pressing/changing it and it will indicate in the Saved
names: listbox. The Jogwheel sensitivity setting is the resolution to use, the lower the number the
more sensitive it will be, so you can adjust it while testing until you get the feel you want. It does not
necessarily need to be the actual jogwheel resolution.
The Manual button is to use with inputs that needs to be added manually, it can be data from a
controller that is hard to use with the learn function or that simply is not triggered by an input change.

26

You simply enter the hid data in hex comma separated. Cookie,index,value can all be found in the
data analyzer window. The instance number is most of the time 0, but if you have 2 of the same
controller plugged in the number for the second controller would be 1.
Instance count always starts on zero.
Step 2 and step 3 works the same way as explained in the mapping a midi controller section.
---------------------------------------------------------------------------------------------------------------------------------------

* Advanced RPM controller mapping


You can write you own lua code to talk directly to the RPM sound engine. You can add any kind of
controller support. For example if you dont like how the cue and play button behaves, write you own
business logic on how they should work. It could be for example changing cue and play to work as a
Pioneer player instead of RPMs way or if you want your controller to control lights you can use lua
load lib function with external dlls that can talk to your light equipment.
You can find the controller lua code in this folder:
Win XP: C:\Documents and Settings\(your username)\Local Settings\Application Data\Gizmolabs
\RPM\CtrlMapsV100
Win7:C:\Users\(your username)\AppData\Local\Gizmolabs\RPM\CtrlMapsV100
OSX: (Your username)\Library\application support\ RPM\CtrlMapsV100
On windows you must turn on show hidden files to be able to see the directories.
Files that are in the GLSystem folder are shared by all controller scripts.
Files in GLSystem that has the prefix mapper_ contains the functions that is shown in step 2 in the
mapper, you can add your own mapper_xxxxx.lua files and it will show up on the step 2 page. This
way you can expand and make new functions to use, look in the other mapper_xxxx files on how its
done.
The events_xxxxx.lua files is functions that is shown in step 3, with the Show/Hide util functions
button, you can add your own events_xxxx.lua files to expand the display output function list.
The actual controller file that is created for the controller should not be edited, if you want to make
changes directly in the controller lua file, use functions, you can create a file named for example:
mapper_myfunctions.lua and it will automatically be loaded since it has the mapper_ prefix, and
then you can call your functions in it. For advance users, its recommended that you name all your
buttons/slider/knob etc, instead of using autoname, since it will make it easier understand the code
that RPM creates.
---------------------------------------------------------------------------------------------------------------------------------------

* Using a debugger to debug RPM controller lua code


27

To do advanced controller scripts you can use a debugger. An easy one to use is Decoda, you can
download a 30 day demo here: http://www.unknownworlds.com/decoda , however it will only work on
Windows XP (on Win7 the debugger does not work), so if you are running Win7 or OSX you can run
XP in Oracle VM VirtualBox.
Oracle VM VirtualBox is 100% free and you can download it here: http://www.virtualbox.org
There are many lua debuggers available so which one you choose is up to you, RPM will work with all
of them this is just an example.
To set it up just add you source file to a decoda project.
To do it, in Decoda select menu Project/addExisting file and add your source file.
After that, select menu Project/Settings and enter where RPM is installed.

You can now add breakpoints, view variables, step the code etc, for more info see the Decoda help.

28

Here is an example debugging with decoda. To debug you start RPM from within Decoda by pressing
F5. In this example the breakpoint triggers when pressing play on the DN-S3700 controller. To show
row numbers in the editor, go to menu Tools/Settings.

---------------------------------------------------------------------------------------------------------------------------------------

29

* How to register RPM


Go to Menu File/Registration, and type in you user name and license key that was sent to you in the
registration email.
---------------------------------------------------------------------------------------------------------------------------------------

* Moving RPM license to another computer or changing computer


hardware
RPM identifies the computer it's installed on by looking at the hardware, so when you change
hardware, memory hard drive, graphic card etc, you should always do "Reset license" before doing
the change. When you are done with hardware changes you just register as normal. You can reset
and reregister unlimited amount of times, so you are never in risk of loosing you license. To move
RPM to another pc you must first do "Reset license" on the old computer and then register as normal
on the new computer.
---------------------------------------------------------------------------------------------------------------------------------------

* Using multiple versions of RPM at the same time


If you want to keep an old version of RPM and also run a new version you can do so.
As long as the major version number is the same (ver 1.x.x.x) on the old and new version the
database and other settings will stay compatible. Just install the new version to a new directory
instead of the default and you can run both versions, but only one at a time.
---------------------------------------------------------------------------------------------------------------------------------------

* Using 3rd party applications with RPM


RPM uses an open database format with sqlite3 as its engine, this means that anyone can write
applications to manipulate the RPM database, but you run those at your own risk and GizmoLabs can
not support those apps, since we simple can not know what they do. If you are using 3rd party apps
and RPM appears not work correctly then try to recreate the problem by using a clean database that
has not been touched by any 3rd party app before reporting a bug to us.
---------------------------------------------------------------------------------------------------------------------------------------

* I messed up all the settings, how do I start over?


If you have changed settings and want to start over from scratch you can very easy set RPM back to
its factory default state. You do this by holding down the left CTRL key while starting RPM. This will
clean all settings to the same state as if it was a fresh install.
Even your license will be cleaned out, so you just have to re-enter your license.
You can do this as many times as you want.
---------------------------------------------------------------------------------------------------------------------------------------

* Adding tracks to the recordcase


30

There is multiple ways to add tracks to RPM's recordcase, you can use menu
File/Add file to library, Alt+O
File/Add folder to library, Alt+F
or
drag and drop files onto the recordcase area, if you drag and drop a folder a smartlist will
automatically be created.
When tracks are added they will be scanned for additional information that will be saved in the
database.
The scan is detecting tempo (BPM) , the tracks perceived volume, auto cue and beat grid.
The perceived volume is not the same as normalization, it is the volume as the human brain hears it,
this means for example when auto playing in non attended mode, that you will never have run back to
your computer to adjust volumes when a loud or weak gain has been used to record a track, and this
also makes your mixing sound better since the volumes are always perfectly balanced.
The beatgrid is how beats are located in the track, this can then be used to automatically keep you
beat mixing in sync, letting you concentrate on other tasks.
You can add the same tracks over and over; RPM will only add it one time so you will not get any
duplicates. If you turn on option "Write database changes to tag" (default off) all the data will also be
written to the track itself and you will not need to rescan the track incase you need to recreate your
database or if moving a track to another RPM setup, that data will then be instantly available.
Note: Not all audio formats supports tag writing.
In the recordcase there is some system created playlists that cant be deleted:
All tracks
= Always contains all tracks, shows the entire database
Logged tracks
= All tracks that has been played more than 1 minute
Logged session
= All tracks that has been played more than 1 minute since RPM was started
(its cleared on each RPM restart)
If you want a larger font to see better, you can change it in preferences in the library tab.
---------------------------------------------------------------------------------------------------------------------------------------

* Making playlists and groups


In RPM you can create 3 types of playlists, groups, static lists, and smart lists.
A group is just a group that can contain other groups, smart lists and play lists, there is no limit on the
amount of sublevels, you can do as many as you like. The playlist window and track window can be
adjusted to make room for levels and group names, it uses a splitter, so click and drag in the areas
between the playlist tree view and track list and wait list to resize, that size will be saved so its the
same next time you start RPM.
Static list is just a list of tracks where you decide the order; you can also have multiple entries of the
same track.
To create a static list right click over the playlist windows and select new playlist.
To add track mark and drag and drop onto the new playlist, or right click and choose "Add selection to
playlist"

31

You can also create a static list by selecting tracks, right click, and choose "Add selection to new
playlist

32

A smartlist uses a query to get its tracks, RPM uses SQL language to create queries, and to make it
easy there is a smartlist editor built in.
Right click and select new/smartlist, enter a name and this dialog shows up:

The 'Rule" section can be used to add conditions to the list, use the 3 dropdown to select field,
condition and value and click
'Add as OR' or 'Add as AND', for the first condition you create it does not matter which one you use.
'Add as OR' or 'Add as AND' is when using more than one row of conditions for the query and how
they should be added together, as OR or AND.
You do not need to use the Rule section, you can type directly into the query box to make you list.
To test that you get results and correct syntax, use 'Test query', it will show hit results or error text if
something is wrong.
---------------------------------------------------------------------------------------------------------------------------------------

* Export/Import playlists to/from other programs


To import tracks to recordcase, you can use m3u lists.
With Menu 'file/Import m3u file(s)' you can choose one or multiple m3u's that will import its tracks and
add a static playlist

33

for each m3u file. To export from the recordcase, just right click on the playlist and select 'Export to
m3u file'.
---------------------------------------------------------------------------------------------------------------------------------------

* Deadlinks and how to handle them


The recordcase in RPM does not contain the track itself but only a link to the tracks, so if you move
files on your hard disk that link will be broken, and you can see that a link is 'dead' when RPM shows
it in an italic font.

If you have rearranged files on your HD and many deadlinks shows up you can run Menu 'File/Delete
dead track links from library', it will remove all dead links from the database.
Tip 1:
When adding tracks to the database and if you want to avoid rescanning all tracks and re-enter all
data, you can enable 'Write database changes to tag' in preferences.
That setting is default off, and if on, all changes and scan result will be written to the files tag (only
mp3 tags at the moment), so when adding a track to the RPM recordcase, RPM will read all scan
data and other info from the tag and no scan will be needed. When adding files to the recordcase, it is
safe to add the same files multiple times; RPM will only add them once, so you will not get duplicates.
Tip 2:
You can do a multi select on your deadtracks and then open the Get info dialog. It will detect that the
multiple selection and be blank with a checkbox in front of each field. You can now check the field you
want to update (in this example its the file path) and enter the new info and all checked tracks will be
updated. To multi select hold down ctrl (individual selectsl) or shift (range selects) when clicking on
tracks.

34

---------------------------------------------------------------------------------------------------------------------------------------

* Using external hardrives and memsticks with RPM


When using external harddrives/memory sticks and if they are not plugged in, be careful not to run
'File/Delete dead track links from library' since that will then delete those tracks from the database.
---------------------------------------------------------------------------------------------------------------------------------------

35

* Listen to a track in headphones using internal mixer


Using the built in mixer, you can configure outputs to go to 4 zones
Main, Booth, Aux1 and Aux2, and the 5th is headphones.
You can use either stereo or mono outs, to assign what outputs to go where.
When internal mixer is used, the names for the outputs are the name of the mixers outputs.

---------------------------------------------------------------------------------------------------------------------------------------

36

* Listen to a track in headphones external mixer


When using an external mixer there is no headphone output, but you use the headphone output on
your external mixer. The names for the outputs are the 4 players, Player 1, 2, 3 and Case player, so
you connect those 4 to one input each on your mixer.

---------------------------------------------------------------------------------------------------------------------------------------

37

* Using compressors, eq's, etc, on soundcard outputs


When using the internal mixer you can add vst plugins to the mixer outputs.
This is the perfect place to add your favorite eq's, compressors or other plugins that you want to have
active at all times when playing. Each output can have 2 plugins.

38

If using in external mixer mode, the tab adds 2 more plugins to use for each player output.

---------------------------------------------------------------------------------------------------------------------------------------

* Autoplay and how you can use it


RPM has both full 'auto' play and 'shuffle' play, but it also has a simple next track click. The full auto /
shuffle play can work in 2 modes, normal mode and current view mode.
Auto/Shuffle play in 'Normal' mode
When you autoplay in 'Normal' mode, RPM will copy the selected playlist to an internal auto playlist,
so you are free to search for tracks, fill the waitlist or do whatever work you need to do to while auto
play functions in the background and only selects tracks from the playlist that was active when you
started autoplay.
Auto/Shuffle play in 'Current View' mode

39

In current view mode, auto play does not copy to an internal list but loads whatever track that is
selected in the recordcase, you can also load the track you want it to play next. This way you can
change the track selection as it plays, and decide on the fly what should be next. If you have tracks in
the waitlist and you have clicked on one of them so it has the focus, it will pick waitlist tracks until
waitlist is empty and then it will go back to the regular track list.
For both of these modes there is a 'bpm match running on load' setting in the Preferences. It will
match the players if the BPM of the tracks are within the set limit (default +-4%). The check box
'autoplay only' can be unchecked and BPM matching will be performed for all track loads, not just
during auto play. You can also adjust the 'mix on seconds left' (default 10 sec) and 'fade out
time' (default 5 sec). Those times will be applied to all tracks when in auto/shuffle play.
You can also program individual mixstarts and mixend and fade time for each track seperately. To do
so, you simply create a cue point where you want the mix to start, name that cue point "MixStart" and
auto play will use it. You do the end the same way, set a cuepoint where you want the mixout to
happen and name it "MixEnd" or "MixEnd xx", where xx is time in seconds that you want for fade out,
so a 20 sec fade out would be "MixEnd 20".
While Auto/Shuffle play is running RPM will do a slow speed recovery operation, it slowly moves the
tempo or pitch back towards zero to keep speed under control while autoplay is turned on and you do
not need to worry about different tracks having different volumes, the RPM perceptual gain control,
makes all track play at the same level, not normalized, but at the same level as the human brain
hears it.
The "Next" button is your mix now button, it can be used at anytime, in auto play and also when not in
auto play. It triggers in the UP transition and is always using quantization, so mixing with the next
button will always mix perfectly on the beat.
---------------------------------------------------------------------------------------------------------------------------------------

* How to see what has already been played


As you play a track and it plays for more than 1 minute, RPM will increase its playcount, and at the
same time indicate with a color change in the recordcase to indicate track played, that color will then
fade back to the original color over time.
This fadeback time can be set in preferences, the default 40 minutes. The color it changes to can be
altered using themes (Listview, Alternate Font Color).

40

---------------------------------------------------------------------------------------------------------------------------------------

* How to update recordcase when new tracks have been copied to the
harddrive
When you add new tracks to you harddrive, you must also add those to you RPM recordcase and its
very easy.
Once you have added all you new tracks you can simply mark all tracks in your directory that you just
added to, or drag and drop the entire directory to the recordcase window, and RPM will only add the
new track and skip tracks already in the database by looking at the full path of tracks.
---------------------------------------------------------------------------------------------------------------------------------------

* Searching for tracks in the recordcase


RPM support multiple ways of searching, most common and simplest is
is the freetext search, type in any text and press ENTER, and it will present all tracks that includes
words starting with that text.

41

You can also change which fields to include in a free text search, go to preferences and the library tab
to change.

In addition to free text search, there is also command based search.


RPM support the following commands:
'<>','>','>=','<','<=','=','starts', 'ends', 'contains', and 'browse'
To use command you start by entering a name of a field you want to execute the command on,
and the command and its parameters. Below are 3 examples on how you can use it.

42

The 'browse' command is a little different from the others; it uses the smart view to present
a selection box. With the browse command you can pick any field and browse its content.
In the example below artist is used and you get a list of all artists in the database in the lower window
and the upper window presents you with the tracks to the selected artist. So as you click on different
artists their track will show up in the upper window. This is the data driven way to do sub groups.

43

You can also do subgroups by creating static ones and there is no limit in subgroup levels.

---------------------------------------------------------------------------------------------------------------------------------------

44

* Find out what was played during the night


As you play RPM logs all tracks played over one minute to a log, the log contains both start and end
time of a played track. That log is then presented in multiple ways. There is 'Logged tracks' which is
all tracks logged in the system, here you can search all tracks ever played. The 'Logged Session'
contains only tracks that has been played sin the last start of RPM, so it clears every time RPM is
restarted. There is also a group called daily logs, it auto creates a subgroup entry in the 'Daily logs'
group for each day, but if you dont play any tracks one day, after starting RPM the entry will be
removed, so you only end up with logs that contains info.
The time span for the daily logs are 6am to 6am the next day, this way you dont get a break in logs
when passing midnight.

---------------------------------------------------------------------------------------------------------------------------------------

45

* Matching tracks bpm when mixing


There is many ways you can match tracks, all manual, move pitch slider until the bpm numbers show
the same value, or click on the match buttons, each player has 2 match buttons, one for each of the 2
players. When you click on them, the player will match its bpm to that player.

Another way is to lock a player to the master section BPM. that gives you one place to control all
players bpm if you like, once locked the player will always match to the set bpm in the master section
(master section = top part of application).

46

---------------------------------------------------------------------------------------------------------------------------------------

* Match bpm and keep tracks in sync when mixing


When matching players bpm, you will get the tempo if the player to be the same, but you will still
need to use bend and manual methods to keep track in sync. For this RPM offers a auto sync feature.
If you use both 'Lock' and 'Quant' (Quantize) RPM will watch players as the play and keep them in
sync so you never have to bend or do any adjustments, the sync uses the beat grid to do this.
So for this to work you must be at least with in 1/2 beat correct when pressing play, or sync will sync
on the incorrect halfbeat , however you can do cool double beat effects with being one half beat off
and using the mixer crossfade.
When in this mode the pitch changes to 'Phase', that means that the old pitch slider now adjust the
location relationship between players, that range is +- a half beat, you use this if getting heavy
canceling when beats are exactly on top of each other and you dont want that effect, or if the grid
detected on another track feels that it is not aligned correctly. Most of the times you will however not
need to adjust this setting.
The 'Match 1', 'Match 2' and 'Match 3', buttons has 2 functions, one is when you are about to start
using the master section you can match its bpm to any of the 3 players by cklicking on one of the 3
buttons. The second function is indication only, that is when a player is within 0.5% match of the
master section bpm the button will light up, indicating perfect match, so as you play you will see these
buttons go on and off as they work with the players. The auto match will only work up to a point, and

47

not adjust speed to much, so it starts sounding strange, so auto match will NOT work on medleys
when for example bpm is starting at 80 and ending at 140 bpm.

---------------------------------------------------------------------------------------------------------------------------------------

* Bpm and/or beatgrid is not correct, how do I fix it?

48

If the bpm shown is not correct RPM has probably detected a harmonic of the true bpm and it can
easily be fixed. To adjust bpm, find the track in the recordcase and right click and bring up the track
info, 'Get info' or Alt+Shift+I

The bpm field is a dropdown selection list, in that list you can find all the detected harmonics of the
bpm, and one of them will be the correct one you are looking for. To make sure you can select the
new bpm, click ok, load the track in a player and do a 4 beat loop, if the loop is correct, then you have
the correct bpm if the loop is 4 beats long.
So now you have the correct bpm, but you must now also recalculate the beat grid, just click on
ReScan grid' in the info dialog and the grid will use the new bpm in its calculations.
---------------------------------------------------------------------------------------------------------------------------------------

* The beatgrid is correct in tempo, but its markers are shifted/not located
right
49

RPM tries to put beat markers in the right spot, but there will always be music where it will fail, and to
fix that there is a beatgrid editor.
There is multiple ways to edit the beat grid
* Moving entire grid
* Moving left side of beatgrid from mouse pointer
* Moving right side of beatgrid from mouse pointer
* Tap in new markers with shiftkey while playing
* Tap in new markers with shiftkey while down mousekey (mousescratch)
* Adjust markers with shiftkey while playing
* Adjust markers while holding down mousekey (mousescratch)
To enter/exit edit mode hold down ctrl+leftmouse click over the waveview.
It will then ask to confirm and if yes, reload the track with double the x scale
Now you will see 5 buttons:
Reset, Save, Undo, ToDb and Tap

"Reset" will reset grid to what is stored in db, incase you messed things up, its like a cancel button
"Save" and "Undo" is something you can work with while editing, save, saves current beatgrid state
and undo goes back to last saved state, when you use "Save" it does not save to db it just a temp edit
save, similar to a ctrl-Z function in a text editor.
The "ToDb" saves the edited grid to database and exits edit mode.
The "Tap" button brings you into tap mode, in Tap mode you can work in 2 ways, manually or adjust.
the "Man" button takes you into manual mode.

In manual mode when playing or holding wave with left mouse button will create a marker each time
you hit the shift key, and all markers to the right of the mouse will be deleted. You use this mode to
manually tap in the markers.
In a perfect world you would play a song an tap all the beats and the grid would be done, however
windows is, and never will be on time, so the taps you do is more of a starting point to do a grid. The
reason that you cant just tap in the grid and be done with it is that the keyboard latency and windows
response, plus audio latency is non predictable, sometimes response is in 1mS other times 25mS, so
it is impossible to use keyboard as an accurate timing device. One trick to minimize this problem is to

50

tap the track at the lowest pitch possible that you can still make out the beat. You can set a very low
pitch by turning on lock on the player and move the master section bpm down to a very low value.
Doing this will minimize the windows keyboard response problem.
You tab every half beat or beat of the track, it does not need to be from the very beginning or to the
very end, RPM will fill in missing half beats at beginning and end of the track, it does this when you
click on manual tap off (the"Man" button).
In tap mode with manual off you can now adjust the beats just by hitting the shiftkey when playing or
when holding the wave with the mouse, this way you can manually adjust individual markers.
When tap is in off mode (when you see reset, save, undo ,todb and tap buttons), you adjust the grid
with 3 commands, the leftmouse button moves entire grid, shift+left mouse button moves grid to the
left of the mouse cursor, and alt+left mouse button moves all to the right of the mouse cursor.
You toggle in and out of the editgrid menu with ctrl+left mouse click.
So to go back to normal wavemode, you save to db or use reset button, and the player will reload the
track with its normal x scale.
---------------------------------------------------------------------------------------------------------------------------------------

* Saving a cued position in a player


RPM supports unlimited amount of track cues, when a track is added to the database it creates 5
cues by default.
It also creates a temp cue, the temp cue is never saved to database, its only in memory and only
active for as long as the track is loaded in the player. If you want cues to be saved you must use
another name,
the cue1-cue5 can be renamed and you can add more cues, and to select them simply click on them
to make them active.
To set a cue point you can use stutter edit, hotstarts and mouse, for keyboard shortcuts see the
keyboard shortcut map.
When using mouse, you pause the player move the wave with the mouse, you will hear it stuttering
the audio, and when done click the cue button on the player ands the cue is now saved.
When setting cues while playing they will be moved to the closest beatgrid location, so its important
that the beatgrid as correct as possible, the beat grid is not used when setting cues with stutter
editing.
When RPM scans the tracks it detects an autocue position that it uses for track start, if you want to
change that position, you can do it in 2 ways; open the track info dialog and adjust the 'Auto cue in
mS' field, or create a cue point and name it 'AutoCue'.
---------------------------------------------------------------------------------------------------------------------------------------

* Making and using loops in a player


RPM automatically positions loop on the downbeat and can also make 4 beat loops, and move and
resize as you play the track. To create a loop, click 'Loop' button and a 4 beat loop will be created, to
make it longer or shorter you must use keyboard shortcuts or a external controller, since not all of the
RPM features are available from the gui screen, it would be to many buttons to present all the RPM
features, and we wanted to keep the interface as clean as possible.

51

To exit a loop, click 'RL/Out' and to reloop click it again.


You can also do a wait loop function, it will have the player playing until it gets to the loop and then
stay in the loop. Here is an example on how you do it with a Denon controller, but you can also do it
with keyboard shortcuts. When working with the loop, cue and play buttons, all saves are made to the
temp cue, and its not saved to db. So you must move a loop on the fly to any of the 5 hot starts,
which are saved to db.
Here is how you do it:
1. Load a track
2. Create a loop with A1 button (A2 and B will also work)
3. Transfer the loop to a hotstart key by pressing and holding down "Exit/Reloop" button while
pressing one of the hot starts, we choose 1, that will save the loop to hotstart 1.
4.Now to get the player to start from the beginning, press and hold down the "back" button and then
press "cue". (or shift+ctrl+click cue) You can see that the cue 1 is selected and the "loop" button on
the pc screen and the A1 on the controller is lit up, now the player will play in to that loop and stay
there.
Testing an already saved loop
5. Now unload the track by holding down flip and press rotary.
6. Load the same track again
7. To use the stored loop in hotstart 1 you simply select cue 1, by holding down flip and turn the rotary
one step clockwise, (or right click with mouse on cue mem position) and the loop button on the pc
screen will light and the A1 on the controller, up indicating that it will loop when player gets to it.
Note:
Pressing just "cue" will jump to beginning of loop, back+cue beginning of track.
To really unleach the power of RPM loop an external controller is recommended, you could do it all
using the keyboard but it is not as easy compared to a controller.
---------------------------------------------------------------------------------------------------------------------------------------

* Using filter on a player


RPM has 7 basic filters, Lowpass, highpass, bandpass, eq, highshelf, lowshelf, and tone control.
You select them in the dropdown list and on selection they will be in a state so the audio will not be
affected until you start to use them, for example a lowpass filter will always start with its freq index at
its highest so you get full range on activation, after you use it and maybe leave it at a low frequency, it
will always reset to a safe state on activation. This is to make it risk free to switch filters.
Note: there is one exception, the band pass filer.
The tone control filter has 3 control dots, low, mid high, and at their bottom position they switch to use
kill filters

52

To adjust the filter frequency, click and hold down while moving the mouse
To adjust wet/dry, click and hold down not on the dot and move up/down.
To adjust bandwidth, click and hold down not on the dot and move left/right.
These controls do not apply to all filters, for example lowpass does not have a bandwidth setting.
---------------------------------------------------------------------------------------------------------------------------------------

* Using vst plugins on player


RPM can use 2 vst for each player, and 2 for each mixer output or 2 additional ones for each player if
in external mixer mode.

It looks for vst in 2 places, first in the directory that the Steinberg registry setting points to put plugins,
plugins that have their own installation program uses that location most of the time, and it is the
recommended location.
On a normal XP that can be 'C:\Program Files\Steinberg\VstPlugins', but that is not guaranteed, all
depends on what WIN OS, language and/or if user has changed it to another location.
If that cant be used you can create a VST directory in the RPM application directory, and RPM will
then see them. To activate a plugin you select them from the dropdown list, and you can turn them off
by clicking 'Bypass'.

53

The 'Edit' button opens up the vst parameter dialog so you can change its audio settings.
---------------------------------------------------------------------------------------------------------------------------------------

* Using player effects


Each player has 4 effects, Spin, Dump, Step plus and minus.
The Spin effect is the same as turning off power to a turntable, and it toggles off/on, when you click on
it and it start to slow down, you can also use the play button to have it instantly go back to normal on
speed.
The time it takes to start up and slow down can be adjusted in preferences.
The dump effect reversed the audio without loosing the timeline, its useful if you want to beep out
explicit lyrics without using an actual beep tone, or it can just be used as a cool sound effect.
The bpm step effect will step 1 or more bpm (you select with combination keys) in perfect beat so you
can even use this while a loop is going, and even in reverse and beat will still be perfect, another way
to use it is if you have a very long intro, just tap the step plus button and fast forward while playing
until you get where you want, or if you miss the mix break in a song, tap on the step minus back to
the break while its playing out to the floor, and when at the break, make a 4 beat loop and mix to the
next track.

---------------------------------------------------------------------------------------------------------------------------------------

* How to connect a turntable and use timecoded vinyl/cd to control RPM


RPM can use many formats of timcoded vinyls or cd's to control its playspeed and playposition.

54

For timecode to work, you must have selected a soundcard in preferences that has inputs, otherwise
you will not be able to open the timecode settings dialog.
Main menu Edit/Vinyl timecode or shortcut ALT+V.

Its divided up in three sections, the players, inputs and type. First, start by selecting what type of
timecode you are using in the Vinyl type section.
Now in the input section, select what inputs to use for each player, you can set the same input for all
three players and selecting on the fly which one to use by clicking the vinyl button on the players.
After that you detect you lowest level threshold, you do that by putting the needle on the record
without it spinning and click the 'detect' button a few times, this is the value where the input will be
muted to avoid unwanted movement when turntable is stopped.
The 'Vinyl start' setting is used to change the start offset of the record, its useful when a vinyl record
get damaged or wears out, you can move everything forward to a new spot, applies only when
running in ABS mode. ABS mode means that the needle will pick up where you are on the record so if
you pick it up and move it closer to the center the track will also move the tracks position forward.
Now set the play level by starting the turntable and you will see the green vu meters showing
incoming level, use the gain and balance to get close to the marked target level. If you plugged in
your turntable that does not have a pre amp into a soundcards line level inputs you must click pre
amp to get the correct levels.
The << button is so you can collapse the dialog and have it as a input monitor while playing, so if
anything goes wrong, cable disconnects or dust building up the green vu meters will show that.
if you can't find your vinyl type you can use 'Generic (Relative only)' and change the 'Vinyl speed'
slider to set the 1.0 speed. You set the 1.0 speed by playing the vinyl at 1.0 on the turntable, click
'vinyl' on one of the players with a loaded track, and adjusting the 'Vinyl speed' slider until play speed
is correct.

55

You might also like