Greetings, Mixxx developers!

I'm using Mixxx 1.7.2.
I tried 1.8, and promptly reverted back.

In order to do nice mashups, I hacked a nifty little thing into it
that allows one to navigate synchronously in each track, based on
the BPM: move by 1/4, 1/2, 1, 2, 4, 8, 16, 32, 64 and 128 beats,
either forward or backward, for each track.

It's exactly what I needed, I'm having a lot of fun with it.
I'd submit a patch, but for one small UI problem: it needs a huge
chunk of the keyboard! I'm using 20 keys for *one* track, with
a shift modifier for the other track.

But I also got a glimpse of the innards of Mixxx in the process,
and now I'm wondering: How does this thing even *works*?

OK, to be fair, I'm not used to C++. But the way I see object-
oriented programming, it's supposed to be modular with small,
well-defined interfaces. So I guess there must be such an interface
to the sound engine. When hacking my thingy, it didn't strike me
as obvious.
Then again, maybe it's a FAQ.

The reason I'm asking is twofold:

First, I'm moving around the track using slotControlSeekAbs(), and
it works fine, except when it doesn't. I've got all sort of weird
bugs where it seeks to the wrong spot, or the audio is suddenly not
in sync with the wave display for a few seconds. Am I supposed to
use another method?

Second, I now need another functionality, and it seems I'm going to
have a much harder time hacking *that* in: I want to change the
pitch of a track without changing its tempo.

Right now, I set "Pitch behaviour" to "Vinyl emulation" (because
"Pitch independent time stretch" sounds like c**p), and thus the
pitch and tempo change simultaneously when I change the rate of the
track. In theory, if I combine both modes (VE and PITS) I could
change the pitch without changing the tempo. In practice, I use
Sox to manually change the pitch of the tracks in advance when I
need it. It's 20 minutes of intense brain activity.
log(rate)/log(2)*12*100, that kind of stuff.

I don't want that: I want a slider in the GUI.

How hard should that be?



Mikael

------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web.   Learn how to 
best implement a security strategy that keeps consumers' information secure 
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl 
_______________________________________________
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to