Mapping for the VCI-300

Anyone using the Reverse function?? Otherwise in 1.12 Shift + Censor = Reverse will become the new toggle button that turns the corresponding Mid EQ right next to it into a filter knob :sunglasses:

2014-06-20 Major rework for 1.12

  • Replace script binding with direct MIDI mapping wherever possible
  • Use new cue/play controls
  • Rework looping

!ONLY FOR 1.12!
Mixxx_Vestax-VCI-300_2014-06-20.zip (9.72 KB)

2014-06-20.1 Replace reverse play with filter effect

  • Assign 1st/2nd effect unit with preselected Filter chain to left/right deck respectively
  • Shift + Censor button enables/disables the filter effect
  • Mid EQ controls the filter parameter while the filter is enabled

!ONLY FOR 1.12!
Mixxx_Vestax-VCI-300_2014-06-20.1.zip (10.2 KB)

2014-06-21 Smart switching between mid EQ and filter effect

  • Track the knob’s value and restore it when switching between mid EQ and filter effect

!ONLY FOR 1.12!
Mixxx_Vestax-VCI-300_2014-06-21.zip (10.3 KB)

2014-07-13 Use new 1.12 sync controls

  • The Auto Tempo button now triggers the new sync_enabled control. Tapping the BPM manually by holding Scroll is still possible.

Mixxx_Vestax-VCI-300_2014-07-13.zip (10.3 KB)

2014-08-18: Sync mapping with push-and-hold

  • Use MIDI mapping for “sync_enabled” to support push-and-hold
  • Use setParameter() instead of setValue() for effect parameters

Mixxx_Vestax-VCI-300_2014-08-18.zip (10.3 KB)

I just ordered a VCI 300 MK2 to replace my american audio VMS2. So big thanks to Tapir for creating this mapping. This is gonna be great!

The mapping again needs some tweaking for 1.12, but basically it should still work. Hopefully I will find some time for this task.

Please report any bugs you find! I use my VCI-300 very rarely nowadays and might have missed some.

Update for version 1.12

  • Use new EqualizerRack
  • Connect filter effect to QuickEffectRack
  • Improve scratching experience

Mixxx_Vestax-VCI-300_2015-05-03_2.zip (10.5 KB)

Deployed with Mixxx 1.12 Beta (build r5418)

copied from another thread: viewtopic.php?f=7&t=2596

The VCI-300 (both the original version and the MK II) are supported on Linux, it’s plug and play.

I’ve already updated the controller script for 1.12 and don’t plan any further updates, except some code formatting. Did you reload the mapping after installing one of the latest betas?

The cue/play buttons should light up in sync with Mixxx, 3 hot cues are supported(red/yellow/blue) and 3 buttons (green) are used for loop control. I’ve also implemented a filter that is engaged by Shift + Censor and controlled by turning the mid EQ knob. Only the Auto Tempo button might not be mapped as recommended for 1.12 since I don’t use it myself :wink: But that should be easy to fix.

Please help me to complete and update the documentation:
mixxx.org/wiki/doku.php/vestax_vci-300

Since my main focus is now the MC6000MK2 and C++ development for the main Mixxx application (audio decoding, metadata management) I would be glad if someone else takes over the maintenance for the VCI-300. I simply do not have enough spare time to do everything in parallel. Please remember, this is a community project and everyone is invited to participate and contribute! I started contributing by writing a controller script from scratch. Improving an existing script should be much easier.

The Auto Tempo button is correctly mapped to sync_enabled as recommended for 1.12. You just need to press it longer (push-and-hold) to enable sync permanently.

2015-10-04 Final update for 1.12:

  • Just some cleanup and formatting

Mixxx_Vestax-VCI-300_2015-10-04.zip (10.7 KB)

You are right, it does. Back when I wrote that comment I had just recently downloaded 1.12 from GIT and compiled it, maybe it was an accidential error in the sources on that particular point in time(?). Anyways, when I later updated the sources and built again it all worked as it should. I should probably have updated that thread with this info.

Oh man I look forward to look into this. The new filters/effects are super-sweet. Is it mapped to one of the four effect panels in the interface?

You did? Hmm. Maybe I should - I do after all still use the VCI-300 and have no plans of replacing it anytime soon.

I tell you what, I’ll look deper into this and see if I can figure the script out at all (I don’t know javascript but I’d love to learn it anyways) and if so, I will take under serious consideration to maybe eventually take over that responisbility.

And yes, of course I can help with the documentation. It’s the least I can do in return.

To Be Continued!

The version in 1.12 of the XML mapping file and the JavaScript part is up-to-date. I don’t have anything newer up in my sleeve, you can use this version as a starting point for improvements.

Unfortunately my VCI-300 sends spurious MIDI signals when moving the faders, thereby mixing up the signals of both MIDI channels. This defect has already been reported in the Serato forums and seems to be a hardware or firmware issue:

serato.com/forum/discussion/367013

I could confirm it with a MIDI monitor. This renders my unit almost unusable, although I haven’t used it very often at all in the past.

What a bummer :frowning:
So it worked well for a while but then started to fail? How long until this happened? Can’t say I’ve experienced anything like that with my unit.

It started slowly. I thought it was corrosion on the faders, maybe it actually is.

First it only occurred at the min/max positions and could be solved (more or less) by repeatedly moving the faders up and down. But now it seems to be getting worse.

I found a bug yesterday in the xml mapping file, almost at the far end of the file. The closing ‘outputs’ tag has a syntax error. I made the correction for the next mixxx release.

Thanks, that’s obvious! I wonder why I didn’t notice and also why Mixxx doesn’t complain about that malformed XML.

:wink:
Tiny vicious little bug almost impossible to notice

Bug report and fix :
bugs.launchpad.net/mixxx/+bug/1511147

Tapir,

I’m sorry but I had a look at the controller scripts, and I just could not get my head around as to how they work. I didn’t even understand how the current features are implemented. I’m afraid I’m not a suitable person to take over the responsibility of maintainin the script.

Sorry :frowning: