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

As xwax does support Mixvibes DVS Vinyls, shouldn't Mixxx too? #6662

Closed
mixxxbot opened this issue Aug 22, 2022 · 20 comments
Closed

As xwax does support Mixvibes DVS Vinyls, shouldn't Mixxx too? #6662

mixxxbot opened this issue Aug 22, 2022 · 20 comments
Labels
Milestone

Comments

@mixxxbot
Copy link
Collaborator

Reported by: n-launchpad-nebuk-de
Date: 2012-10-09T14:05:36Z
Status: Fix Released
Importance: Low
Launchpad Issue: lp1064411
Tags: dvs, mixvibes, timecode, vinyl, xwax
Attachments: [Vinyl Control Signal Quality chart.png](https://bugs.launchpad.net/bugs/1064411/+attachment/3392327/+files/Vinyl Control Signal Quality chart.png), [Mixvibves DVS vinyl on Mixxx](https://bugs.launchpad.net/bugs/1064411/+attachment/3392420/+files/Mixvibves DVS vinyl on Mixxx), mixxx-mixvibes.png, [Preferences - Mixvibes DVS CD.png](https://bugs.launchpad.net/bugs/1064411/+attachment/3553204/+files/Preferences - Mixvibes DVS CD.png)


Hello,

i've recently checked out and built Mixx from bzr branch 1.11, revno: 3428 (timestamp: Fri 2012-10-05 20:31:03 -0400). There you can see in lib/xwax/timecoder.c that xwax does support Mixvibes DVS. What would need to be done so Mixxx can support Mixvibes DVS too? If it is a simple matter, i'd love to see this in 1.11 ;P. Currently there is no way to select "Mixvibes DVS" or something similar in the Preferences / Vinyl Control tab.

Best Regard and thanks for this great Project!

  • Dario Ernst
@mixxxbot mixxxbot added the bug label Aug 22, 2022
@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2012-10-09T14:20:53Z


I haven't added support for mixvibes because I don't have a copy of the vinyl. If you're comfortable with compiling Mixxx yourself, we can chat on IRC and I can help get it working.

@mixxxbot
Copy link
Collaborator Author

Commented by: n-launchpad-nebuk-de
Date: 2012-10-09T14:33:00Z


I would be comfortable with compiling it myself and/or testing it so it could be integrated in upstream. What is your nickname on IRC? I'm already there as "Nebukadneza".

Thanks for your quick reply - Regards

  • Dario

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2012-10-09T14:52:48Z


I'll try to get on IRC later today, like 1pm Eastern -- nickname is ywwg.

@mixxxbot
Copy link
Collaborator Author

Commented by: n-launchpad-nebuk-de
Date: 2012-10-10T10:47:43Z


Hey,

sorry i couldn't be there yesterday ;(. Bad timing. Anyways, i've started to toy around and have added MIXXX_VINYL_MIXVIBESDVS accordingly in:
src/vinylcontrol/vinylcontrolxwax.cpp
src/vinylcontrol/vinylcontrolproxy.cpp
src/vinylcontrol/vinylcontrol.h
src/dlgprefvinyl.cpp

And simply set 
timecode = (char*)"mixvibes_v2";
in vinylcontrolxwax.cpp, so as to receive this xwax definition:
    {
        .name = "mixvibes_v2",
        .desc = "MixVibes V2",
        .resolution = 1300,
        .flags = SWITCH_PHASE,
        .bits = 20,
        .seed = 0x22c90,
        .taps = 0x00008,
        .length = 950000,
        .safe = 710000,
        .lookup = false
    },
defined in timercoder.c.

As i now have the selection in the preferences i selected, plugged my soundcard in and gave it ago. In the vinyl preferences tab i have that signal quality scope thingy, where i know see the green dots (apart from very little noise) resembling the coordinate-system-axis (so i get a "cross", like ✛). As i don't know mixxx yet i don't know what that signal quality scope should look like. Testing with a song and all vinyl-control modes there are, its either stuck or continuously plays, with no control on the vinyl whatsoever.

Now, where should we go from there? :)

Best Regards and many thanks!

  • Dario

@mixxxbot
Copy link
Collaborator Author

Commented by: esbrandt
Date: 2012-10-10T11:06:17Z
Attachments: [Vinyl Control Signal Quality chart.png](https://bugs.launchpad.net/mixxx/+bug/1064411/+attachment/3392327/+files/Vinyl Control Signal Quality chart.png)


This chart might be helpful to read the timecode signal quality widget.

@mixxxbot
Copy link
Collaborator Author

Commented by: n-launchpad-nebuk-de
Date: 2012-10-10T12:14:04Z
Attachments: [Mixvibves DVS vinyl on Mixxx](https://bugs.launchpad.net/mixxx/+bug/1064411/+attachment/3392420/+files/Mixvibves DVS vinyl on Mixxx)


Behold and watch my friends, it seems that my Mixvibes DVS vinyl now does work on Mixxx. As i'm still a bit busy with my bachelor thesis i haven't really tested but only checked whether the signal looked okay, moved the vinyl a bit ... basically it does seem to work. See the attached screenshot.

More details - and certainly more questions - to come :P.

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2012-10-10T13:35:07Z


Well a red circle is a start, but if it was totally working it'd be green. A red circle usually indicates incorrect choice of vinyl type -- there are two mixvibes definitions, one of which is mixvibes_v2 and the other is mixvibes_7inch. Make sure you try both. Also try them at 33RPM and see if that makes a difference.

Once we get that circle looking green, I'll need to have you do some debugging to find the correct numbers for the end of the timecode track. xwax's numbers (in that snippet you posted) are usually wrong.

@mixxxbot
Copy link
Collaborator Author

Commented by: n-launchpad-nebuk-de
Date: 2012-10-10T16:19:07Z
Attachments: mixxx-mixvibes.png


Like so?

I accidentally had the 7inch entered. Dummy me ;P. If someone can tell me how i can convince bzr to wrap up a patch-file i can attach it here so you can check how badly i messed up your code. (only used to git. I could look myself into it tommorow though…)

So what exactly is this about those begin and end tags that are wrong in xwax, what values exactly are those, where do i find them in the code, and how do i survey the correct value? If you point me to a portion of code i can do some reading myself...

Thanks a bunch~

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2012-10-10T20:22:33Z


Awesome! To get the correct values, you want to uncomment line 252 of vinylcontrol/vinylcontrolxwax.cpp, which is:

//qDebug() << m_group << id << iPosition << when << dVinylPitch;

Actually it's easiest for you if it just reads:

qDebug() << m_group << iPosition;

A question I have is, does mixvibes have a "control track" area of the vinyl? On Serato and Traktor, there's an inner ring of the vinyl that's used to scroll through the library and select tracks. (You can see the gap in this image toward the center of the record:http://www.evsound.be/images/catalogus/serato-vinyl-red.jpg)

As you play the vinyl in Mixxx, you'll see timecode numbers printed out on the command line. I need to know what numbers are associated with the area of the record right before the control track area, or if there isn't a control track, the numbers that are printed as the needle is reaching the end of the playable part of the groove. In other words, be a little on the conservative side and give me a lower number rather than waiting for the needle to hit the end of the record. This number will be used to tell Mixxx when the needle has hit the end of the record and needs to engage the end-of-vinyl mode

@mixxxbot
Copy link
Collaborator Author

Commented by: n-launchpad-nebuk-de
Date: 2012-10-14T13:50:21Z


Hey,

sorry for the late reply. It seems the mixvibes vinyls do have a control track at the end of the timecode track. I've tried to get the last number possible before the needle leaving the timecode track as well as the first value i've found. These are:
Debug [VinylControlXwax 7]: "[Channel2]" 8 334 0.000204082 0.227177 
Debug [VinylControlXwax 2]: "[Channel2]" 2 659837 0.000612245 0.989895 

So, uh, you were right, the length from Xwax was probably wrong.

Thanks for your help so far ;P

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2012-10-21T21:55:42Z


Can you edit mixxx/lib/xwax/timecoder.c and timecoder_win32.cpp and change the "safe" value for Mixvibes V2 to 655000? That should cause the end-of-track mode to be activated near the end of the track. If you play a long track and mixxx reaches the end of the track, the vinyl indicator should start blinking orange. When that happens, you should be able to move the needle back and drop it anywhere on the vinyl and mixxx should continue playing back without interruption.

@mixxxbot
Copy link
Collaborator Author

Commented by: n-launchpad-nebuk-de
Date: 2012-11-04T07:33:02Z


Hey,

sorry for the late reply, but i'm currently drowning in work for my bachelor thesis. I'll try to kick up some time later to finally test this to the end ;)

@mixxxbot
Copy link
Collaborator Author

Commented by: rryan
Date: 2012-11-04T21:25:32Z


Looks like Owen committed some code to enable MixVibes support based on your work Dario. Thanks!

Could you test and verify the latest builds work with MixVibes?
http://builds.mixxx.org/builds/release-1.11.x/r3455/

We should update the wiki and manual where necessary to indicate MixVibes support is back.

@mixxxbot
Copy link
Collaborator Author

Commented by: n-launchpad-nebuk-de
Date: 2012-11-14T19:50:01Z


Hey,

i'm really really sorry i can't look into this stuff properly right now ;(. I'm working > 14 hours per day for my thesis right now, so its kinda hard to properly test.

Just now i've baked r3461 (on the basis that the commit would be in there too...?) and tried it out. I've had strange "stutters" which i still have to investigate that i haven't had when i first tried (but then i had time to figure out how to build with CPU-optimization ..., forgot that today). I then started a song thats longer than the vinyl on 45rpm, and let it run. At the end of the vinyl the song just continued playing, and when i dropped the needle somewhere in the "playable" area again, and it just kept playing. Is that the expected result?

Thank you so much for your support and fixing this! Regards

  • Dario

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2012-11-14T20:00:44Z


Yes, the music should keep playing. Sounds good! (Any stuttering issues are unlikely to be xwax-related)

@mixxxbot
Copy link
Collaborator Author

Commented by: esbrandt
Date: 2013-03-01T08:23:54Z


Does Mixvibes DVS support in Mixxx 1.11 includes both Mixvibes CD and Vinyl timecode media?
Need that info for documentation purposes.
Thanks

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2013-03-01T15:30:54Z


From a code perspective there is only one option in xwax for both media, so I'm tempted to say yes. However I'd like confirmation from a user before claiming support for the CD media.

@mixxxbot
Copy link
Collaborator Author

Commented by: esbrandt
Date: 2013-03-01T18:20:10Z
Attachments: [Preferences - Mixvibes DVS CD.png](https://bugs.launchpad.net/mixxx/+bug/1064411/+attachment/3553204/+files/Preferences - Mixvibes DVS CD.png)


Currently have no CDJ or turntable at my disposal, but did some testing with timecoded CD's loaded into VLC and routed as Vinyl control input into latest lp:mixxx/1.11.

Result:
Serato CD: Works as expected
Mixvibes Control CD V2B: Playback works, but plays way too fast, even if changed to 45 RPM

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2013-03-01T20:33:38Z


The red color indicates that we're not getting a timecode signal. xwax only lists support for "mixvibes_v2" and "mixvibes 7 inch" -- so I guess the CD format is not supported

@mixxxbot
Copy link
Collaborator Author

Issue closed with status Fix Released.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
@mixxxbot mixxxbot added this to the 1.11.0 milestone Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant