On Mon, Jan 25, 2010 at 6:30 AM, Sean Pappalardo <[email protected]> wrote:
> Hello everyone.
>
> No one's in IRC at this time, so I figured I'd send a message. I'm the
> Windows packager and tried to build Mixxx trunk (what will become v1.8) for
> the first time today and ran into a bunch of issues I need some input on:
> :
> Building with M4A support (using mp4v2 library):
> - #include <unistd.h> is present in mp4-mixxx.cpp line 49, which doesn't
> work on Windows, so I surrounded it with:
> #ifndef _MSC_VER
>     #include <unistd.h>
> #endif
>

unistd.h is only available on Unix-based OSes. Please use #ifndef
__WINDOWS__ instead of _MSC_VER.


> When building that way, I get:
> f:\mixxx\trunk\mixxx\src\m4a/mp4-mixxx.cpp(93) : error C3861: 'strcasecmp':
> identifier not found
> f:\mixxx\trunk\mixxx\src\m4a/mp4-mixxx.cpp(189) : error C2664:
> 'NeAACDecInit2' :
>  cannot convert parameter 4 from 'uint32_t *' to 'unsigned long *'
>         Types pointed to are unrelated; conversion requires
> reinterpret_cast, C-style cast or function-style cast
> src\soundsourcem4a.cpp(190) : error C2065: 'u_int16_t' : undeclared
> identifier
> src\soundsourcem4a.cpp(190) : error C2146: syntax error : missing ';' before
> identifier 'bpm'
> src\soundsourcem4a.cpp(190) : error C2065: 'bpm' : undeclared identifier
> scons: *** [win32_build\soundsourcem4a.obj] Error 2
> scons: building terminated because of errors.

These are all C99 errors because MSVC doesn't support it. They don't
look like they have anything to do with FAAD versioning.

You can change the strcasecmp to stricmp or strnicmp, please consult
documentation for each of those functions to check which one you
should use. (strcasecmp is C99, the latter two are ISO C or something
like that. They should compile.)

The "unint32_t" pointers can be converted to "unsigned int", and the
"u_int16_t" can be changed to "unsigned short". You should add an
ASSERT that checks that sizeof(unsigned int) == 4, and sizeof(unsigned
short) == 2 and comment why you've added this.

>
> The first one happens because I have FAAD 2.7 (I built it myself) but Scons
> still does the __M4AHACK__ thing and I don't know how to fix that check.
>

Yeah, so as above, I don't think it has anything to do with FAAD. It's
just the usual C99 problems with MSVC.

>
> So I built without M4A support and I get:
>
> ASSERT: "unscaled_samples_needed >= 0" in file
> src\engine\enginebufferscalelinear.cpp, line 126
>
> ...when I try to play or fast forward a track with latency at 1ms. The
> analyzer still runs in the background since the overview waveform shows up
> eventually. Anything 2ms or above works fine.
>
> If I build the debug version without M4A support, the same thing happens,
> and there's also a LOUD pop when it initializes the sound card regardless of
> the sound API.
>
> I heard the ugly beeping when fast-forwarding or rewinding once with latency
> around 80ms but it went away on subsequent runs.
>

Run these tests again with pitch-independent time stretch. Do you
still have ASSERTs when running at 1 ms? Do you still hear the loud
pop? It sounds like there might be a problem in the linear
interpolation code (enginebufferscalelinear.cpp).

> Regressions:
> - First cue point is not defaulted to the start of the track, resulting in
> unexpected cue behavior (since there are no cue points, it just pauses.)

File a bug for these...

> - The overview waveform isn't blanked before when a new track is loaded.

I don't think this ever worked that way... did it? (it's a bug though,
file it!) :)

> - Dragging & dropping from the library causes Mixxx to hang (though the
> currently-playing deck still continues.)

Hang for how long?

> - Something's goofy with the resampling because if I have my sound device
> set to 48kHz, the output sounds noisy, almost like a dirty record, or 32kHz
> sampled sibilance. 44.1kHz sounds better on the exact same source file.
>

Again, check with pitch-independent time stretch vs. vinyl emulation...

Thanks,
Albert

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to