Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update American Audio VMS4 preset for Mixxx v2.1.x #1669

Merged
merged 6 commits into from
May 25, 2018

Conversation

Pegasus-RPG
Copy link
Member

@Pegasus-RPG Pegasus-RPG commented May 17, 2018

  • Add cue-play function on shifted CUE buttons (to match Traktor Edition label)
  • Add sync_master on shifted PLAY buttons (to match Traktor Edition label)
  • Update reloop buttons to use reloop_toggle
  • Make effect controls operate on UnitN_EffectM, correcting behavior
  • Add library pane scrolling to touch strips
  • Add effects dry/wet control to shifted touch strips (to match Traktor Edition labels), replaces needle-drop functionality
  • Replace setValue() with setParameter() on effect parameter controls
  • Update version numbers

- Update Mixxx version
- Add cue_play on shifted CUE buttons (to match Traktor Edition label)
- Add sync_master on shifted PLAY buttons (to match Traktor Edition label)
- Update reloop buttons to use reloop_toggle
- Make effect controls operate on Unit1_EffectM, correcting behavior
- Change CUP button to use cue_gotoandplay
- Add strip scroll and touch functions that make the absolute-position touch scripts behave like relative-mode ones for scrolling through the library
- Comment-out needle drop function in preparation for replacing it with effect dry/wet
- Update script version and date
- Add effects dry/wet control to shifted touch strips
- Replace setValue() with setParameter()
- Delete now-unneeded strip touch button down if branch
@Pegasus-RPG
Copy link
Member Author

Wiki page updated. https://mixxx.org/wiki/doku.php/american_audio_vms4

@daschuer daschuer added this to the 2.1.1 milestone May 17, 2018
Copy link
Member

@daschuer daschuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who wants to review this? Or can we just merge as it is. This is the last mandatory 2.1 PR

</control>
<control><!-- Shifted Play -->
<group>[Channel1]</group>
<key>start_play</key>
<key>sync_master</key>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this mapped? @ywwg why does this Control exist? Should we remove it to avoid future confusion?

Copy link
Member Author

@Pegasus-RPG Pegasus-RPG May 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mapped as many things from the Traktor Edition of the VMS4 to the standard one that did not conflict with how the standard one is labeled. This is one of those items.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK this Control was made while developing master sync but it was decided not to expose it to users.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's on the MixxxControls wiki page. @ywwg what say you?

engine.setValue("[EffectRack1_EffectUnit"+deckNum+"]","enabled",
!engine.getValue("[EffectRack1_EffectUnit"+deckNum+"]","enabled")
engine.setValue("[EffectRack1_EffectUnit"+deckNum+"_Effect1]","enabled",
!engine.getValue("[EffectRack1_EffectUnit"+deckNum+"_Effect1]","enabled")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the script.toggleControl shorthand

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, didn't know that existed. I guess I need to re-read the whole controller scripting page sometime. :)

@@ -922,6 +934,18 @@
<status>0x80</status>
<midino>0x2E</midino>
</control>
<control><!-- on -->
<group>[Channel2]</group>
<key>cue_play</key>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I think it's most useful to map shift + cue to start_stop, but I guess this works 🤷‍♂️

@@ -270,13 +271,13 @@
</control>
<control><!-- on -->
<group>[Channel1]</group>
<key>cue_play</key>
<key>cue_gotoandplay</key>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is redundant with holding down the cue button then pressing play. I think it would be more useful to use start_stop here.


VMS4.strip_scroll = function(channel, control, value, status, group) {
var side = VMS4.StripToSide[control];
if (VMS4.touchStripPos[side] != null) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!==

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll fix that. (What's the difference again?)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!= can easily introduce confusing bugs because of JS' bizarre type coercion rules.

@Be-ing
Copy link
Contributor

Be-ing commented May 19, 2018

I'm confused why you are removing the useful touch strip seeking functionality ("strip search") to add a redundant way to control the dry/wet knob of effect units.

Can you update this to use the Components EffectUnit?

@Pegasus-RPG
Copy link
Member Author

Pegasus-RPG commented May 20, 2018

Same thing, the Traktor Edition uses the touch strips to control that. Since they're multi-touch strips, you can do some neat things with them like touching and holding in one place, then tapping in another to rhythmically change the effect a la the Stanton SCS.3d. I can add an option at the top of the script that lets the user choose needle dropping or FX D/W.

@Pegasus-RPG
Copy link
Member Author

Pegasus-RPG commented May 20, 2018

As for Components, there are only two knobs and two buttons (per side) that control effects on the standard edition so I understand that wouldn't be a good fit, but it will for the Traktor Edition, which I'm still working on creating a mapping overlay for.

@Be-ing
Copy link
Contributor

Be-ing commented May 20, 2018

How do you intend to handle that? Will you make a duplicate mapping or boolean option at the top of the script?

@Pegasus-RPG
Copy link
Member Author

Separate XML file, stub script loaded first that sets a variable VMS4.edition that the main script checks and changes behavior accordingly.

@daschuer
Copy link
Member

This is the last one for Mixxx 2.1.1. Is it ready to merge now?

@daschuer
Copy link
Member

@Be-ing: What do you think is this worth to delay 2.1.1 or is it merge-able anyway?

@Be-ing
Copy link
Contributor

Be-ing commented May 24, 2018

This could be merged if the track seeking with shift+touch strip is restored. IMO there's no need to delay 2.1.1 for this PR.

@Pegasus-RPG
Copy link
Member Author

@Be-ing It is. See the latest commit.

@Be-ing
Copy link
Contributor

Be-ing commented May 25, 2018

Oh sorry, somehow I missed that commit before.

@Be-ing Be-ing merged commit 5fe3902 into mixxxdj:2.1 May 25, 2018
@Pegasus-RPG Pegasus-RPG deleted the vms4 branch November 22, 2018 02:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants