Hi all,

I've come across a few interesting things in relation to the vinyl control
code. And managed to debug mine so that it works again! (!!!) ... At least
in the old trunk version. : P

Someone broke Trunk when they added the new Hercules code (I think it was
Adam who was working on the Hercules? He's on Windows?). The new code is
shiny (I hear, I don't have a Hercules :P ), but I think an include or
somesuch is missing for Linux:

 /home/yorick/development/mixxx/mixxx/src/dlgprefmidi.cpp:200: undefined
reference to `HerculesLinux::HerculesLinux()'

I don't understand enough to go poking around in there, and obviously I
can't test to see if I break anything either, so I cut out that block and
compiled successfully, but segfaults occur on startup, and the GNU debugger
reveals:

DlgPrefMidi::slotApply (this=0x86156b0) at src/dlgprefmidi.cpp:462
462             m_pHercules->selectMapping(ComboBoxHercules->currentText());

i.e. removing that block doesn't reaaaally work. If someone could hop on
this so I can get a stable (ish) trunk build to start from it'd be great. :

So! On to vinyl commentary, and the mystery
Yoricks-vinyl-is-fucking-weird-bug solved!

Basically, the vinyl control seems to tie into the pitch faders already in
Mixxx somehow. Since mine were inverted (down speeds up, like my Technics)
and at +/-50%, my vinyl control was totally, totally weird. Many debugging
ideas were put forth as to why when I changed the speed of the record by
less than a percent, it would hop from slowed down to squirrel-on-helium,
but it turns out that this was the problem. Setting my pitch faders back to
+/-8% and up-is-fast solved *that* particular weird issue. Though that
shouldn't have happened...

On to the rest of the commentary (or black-hat thinking as it were) as I'm
using the vinyl control (I haven't read much of the code yet):

1: It looks like the vinyl control of the waveform is basically built on top
of the pitch-fader widget. This *works* but isn't the greatest way to do
things for these reasons:
 1a: It means that if you want one vinyl control deck and a non-vinyl
control deck, you can't change the virtual one to have a non-standard pitch
range.
 1b: The BPM detection breaks (well, just assumes the pitch is +/-0) when
you go off the end of the pitch fader and it snaps back to 0.
 1c: As far as widgetised design go it just seems making a "virtual deck"
object and a "vinyl deck" object subclassing "deck" object would make more
sense. I don't know enough about the internals yet to really say, but from a
user POV having the pitch faders/virtual deck tied so strongly to the
virtual one is confusing.
 1d: There is no indication what the 'expected' pitch range is for the vinyl
control. AFAICT it's +/-10%.

2: The sound is amazingly harsh and digital, and is tied into the latency
you set in the menu. I think I talked to Albert about this at some stage,
but there wasn't much conclusion on it? Basically you get a 'grating' sound
as a lot of very short samples are played end to end with seams, and at low
latency it just sounds horrid when the vinyl is moving extremely slow or is
stopped, with pops as each sample is played... I don't think this is to do
with my hardware, as xwax and a good half-dozen Windows programs have no
problem with its configuration (and M-Audio Deltas can get pushed pretty
hard to boot).

3: I've tried the Mixvibes DVS vinyls in CD mode, and they don't work. It
really *does* mean CDs. :)

Another thing: Resetting the audio connections to JACK when you hit okay in
the preferences, and you haven't changed anything related to audio (or at
all) is bloody annoying. It means you have to go back and rewire things, and
the PortAudio connection labels JACK has change too (numbers go up) -
meaning that patchbay connections can't easily be used.

One last thing, I ran into a deadlock while trying to open a song. Just
putting yet another mutex bug out there. : \ Multi-threading is a bitch.

~Y
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to