Re: [Mixxx-devel] ALAC support in libsndfile since 2012 - test please

2015-06-17 Thread Uwe Klotz
It works as expected just by adding m4a to the list of file extension 
supported by SoundSourceSndFile! Unfortunately libsndfile from Fedora 22 
fails to open the ALAC file (see logs below). SoundSourceFFmpeg opens and 
plays the file, although it does not properly detect the end of the file.


I've used an example file from Linn Records for testing purposes: 
http://www.linnrecords.com/linn-downloads-testfiles.aspx


In the following log messages you can see how the SoundSources that have 
been registered for the file extension m4a are engaged according to their 
priority: SoundSourceM4A  SoundSourceSndFile  SoundSourceFFmpeg


Debug [AnalyserQueue 1]: Obtained SoundSource for /home/uk/Music/Corrupt 
Tracks/Linn/tone16bit.m4a from provider Nero FAAD2
Warning [AnalyserQueue 1]: No AAC track found: 
file:///home/uk/Music/Corrupt Tracks/Linn/tone16bit.m4a
Warning [AnalyserQueue 1]: Failed to open AudioSource for file 
/home/uk/Music/Corrupt Tracks/Linn/tone16bit.m4a with provider Nero FAAD2
Debug [AnalyserQueue 1]: Obtained SoundSource for /home/uk/Music/Corrupt 
Tracks/Linn/tone16bit.m4a from provider libsndfile
Warning [AnalyserQueue 1]: Error opening libsndfile file: 
file:///home/uk/Music/Corrupt Tracks/Linn/tone16bit.m4a File contains data 
in an unknown format.
Warning [AnalyserQueue 1]: Failed to open AudioSource for file 
/home/uk/Music/Corrupt Tracks/Linn/tone16bit.m4a with provider libsndfile
Debug [AnalyserQueue 1]: Obtained SoundSource for /home/uk/Music/Corrupt 
Tracks/Linn/tone16bit.m4a from provider FFmpeg
Debug [AnalyserQueue 1]: New SoundSourceFFmpeg : /home/uk/Music/Corrupt 
Tracks/Linn/tone16bit.m4a
Debug [Main]: WSpinny::slotCoverFound WSpinny(0x556bb50, name = 
SpinnySingleton1) CoverInfo(NONE,GUESSED,,0,/home/uk/Music/Corrupt 
Tracks/Linn/tone16bit.m4a) QSize(0, 0)

Debug [AnalyserQueue 1]: ffmpeg: NEW FFMPEG API using libavresample
Debug [AnalyserQueue 1]: Created sample rate converter for conversion of 
44100 Hz format: s16p with: 2 (layout: 3 ) channels (BPS 2 )
Debug [AnalyserQueue 1]: To  44100  HZ format: flt with 2 (layout: 3 ) 
channels (BPS  4 )

Debug [AnalyserQueue 1]: ffmpeg: Samplerate:  44100 , Channels:  2

Debug [AnalyserQueue 1]: Opened AudioSource for file /home/uk/Music/Corrupt 
Tracks/Linn/tone16bit.m4a with provider FFmpeg
Debug [AnalyserQueue 1]: AnalysisDAO fetched 0 analyses, 0 bytes for track 
47 in 0 ms

Debug [AnalyserQueue 1]: Vampanalyser BlockSize:  1024
Debug [AnalyserQueue 1]: Vampanalyser StepSize:  512
Debug [AnalyserQueue 1]: Beat calculation started with plugin 
qm-tempotracker:0

Debug [AnalyserQueue 1]: Vampanalyser BlockSize:  32768
Debug [AnalyserQueue 1]: Vampanalyser StepSize:  32768
Debug [AnalyserQueue 1]: Key calculation started with plugin qm-keydetector:2
Warning [Engine]: VisualPlayPosition: Audio API provides invalid time 
stamps, waveform syncing disabled. DacTime: 1883.51 EntrytoDac: 23514
Debug [AnalyserQueue 1]: SoundSourceFFmpeg::readFramesToCache: Packet too 
big or File end
Debug [CachingReaderWorker 1]: SoundSourceFFmpeg::readFramesToCache: Packet 
too big or File end
Debug [AnalyserQueue 1]: SoundSourceFFmpeg::readFramesToCache: Packet too 
big or File end
Debug [AnalyserQueue 1]: SoundSourceFFmpeg::readFramesToCache: Packet too 
big or File end
Debug [AnalyserQueue 1]: SoundSourceFFmpeg::readFramesToCache: Packet too 
big or File end
Debug [AnalyserQueue 1]: SoundSourceFFmpeg::readFramesToCache: Packet too 
big or File end
Warning [AnalyserQueue 1]: DEBUG ASSERT: framesRead = framesToRead in 
file src/analyserqueue.cpp, line 185
Warning [AnalyserQueue 1]: DEBUG ASSERT: 
pAudioSource-isValidFrameIndex(frameIndex) in file src/analyserqueue.cpp, 
line 187
Warning [AnalyserQueue 1]: DEBUG ASSERT: 
pAudioSource-isValidFrameIndex(frameIndex) in file src/analyserqueue.cpp, 
line 222


On 06/16/2015 11:46 PM, Uwe Klotz wrote:
Main blocker: Mixxx currently uses only the file extension for the 
determining the file type. The file extension .m4a is already used for 
AAC files even if both AAC and ALAC files are stored in an MP4 container 
with the same file extension.


It might be possible with my extension of the SoundSource plugin framework:
https://github.com/mixxxdj/mixxx/pull/605

Drawback: ALAC files will first be opened by SoundSourceM4A first. This 
will fail and then SoundSourceSndFile takes over.


Uwe

P.S.: I have converted all my ALAC files to FLAC (including all metadata 
and cover art) when I stopped using iTunes for managing my music 
collection. It's a simple shell script that uses ffmpeg and metaflac.


On 06/16/2015 09:24 PM, Sean M. Pappalardo - D.J. Pegasus wrote:

Hi everyone.

Apparently ALAC support has been added to libsndfile (since 2012.) We 
need to adjust Mixxx to allow loading of these file types so we can 
ensure they work. Does anyone have any ALAC files they can test with?


(This is of interest because some digital DJ music pools supply music in 
ALAC format.)


Sincerely,
Sean M. Pappalardo
D.J. Pegasus

Re: [Mixxx-devel] Mixco controller framework 0.9.0 released

2015-06-17 Thread Juan Pedro BolĂ­var Puente
Hi RJ,

Sorry for the late reply.

 One thing I noticed was that the mixxxVersion attribute in
 MixxxControllerPreset was not specifiable.

Good catch!  Just opened an issue for that.

 The compiled scripts should definitely be included! Please submit a PR
 for 1.12. You're already an author on the existing Xponent preset so
 that's essentially permission to update it :). 

Cool, I'll do so!

I should also review the latest 1.12 features, so I can update the
script to use the latest features (fx, master sync...)

 We will probably always need the JS/XML for the plain way of writing
 presets. The reason is that we want to keep a low barrier to entry to
 writing a controller script. Using mixco is easier and more ergonomic in
 the long run but includes a ramp-up cost that might exclude a variety of
 folks who are handy enough with HTML/JS and a text editor to get going
 with our basic stuff but not savvy enough to install Node/npm, use a
 terminal, and learn coffeescript.
 
 Adding support for loading mixco files directly without compiling sounds
 like it would be useful. 
 
 All you would have to do is create a class like
 MidiControllerPresetFileHandler that produces a MidiControllerPreset
 from the .mixco.coffee file.
 
 Looking at the dependencies -- would we need to build and distribute
 these dependencies with Mixxx in order to compile a load a mixco file ?
 That may become unwieldy. 
 
 ...

These dependencies are managed by npm, so they are easy to install
(these JavaScript world as gone crazy with the small libraries
philosophy :).

Anyways, I have been thinking about this and came to the conclusion that
probably it makes sense to keep Mixco separate, since it is a
development tool that is only useful for script writers.  Also it seems
like its packaging (which is now via NPM) and versioning makes sense to
have separate.  Instead, a feature like what you suggest (compiling
Mixco files from inside Mixxx) could be added finding the mixco build
script as run-time dependency, so it can be installed separate.

As you properly highlight, the current scripting system is quite useful
already and more friendly for users that don't understand advanced
JavaScript concepts like closures or inheritance... we could try to
improve its interfaces to more easily enable abstractions like Mixco.  A
feature that comes to mind is the ability to define direct mappings of
MIDI signals to Mixxx controls from JavaScript.

Thanks a lot for you feedback!

JP





signature.asc
Description: OpenPGP digital signature
--
___
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Re: [Mixxx-devel] ALAC support in libsndfile since 2012 - test please

2015-06-17 Thread Uwe Klotz
After discovering that my libsndfile 1.0.25 is not able to open and play 
ALAC files I checked the website. The latest official version is 1.0.25 from 
2011 and it does not support ALAC:


http://www.mega-nerd.com/libsndfile

The only fallback for ALAC support will be FFmpeg.

Uwe

On 06/16/2015 09:24 PM, Sean M. Pappalardo - D.J. Pegasus wrote:

Hi everyone.

Apparently ALAC support has been added to libsndfile (since 2012.) We need 
to adjust Mixxx to allow loading of these file types so we can ensure they 
work. Does anyone have any ALAC files they can test with?


(This is of interest because some digital DJ music pools supply music in 
ALAC format.)


Sincerely,
Sean M. Pappalardo
D.J. Pegasus
Mixxx Developer - Controller Specialist



--


___
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel


--
___
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Re: [Mixxx-devel] ALAC support in libsndfile since 2012 - test please

2015-06-17 Thread Sean M. Pappalardo - D.J. Pegasus



On 06/17/2015 01:22 AM, Uwe Klotz wrote:

After discovering that my libsndfile 1.0.25 is not able to open and play
ALAC files I checked the website. The latest official version is 1.0.25
from 2011 and it does not support ALAC:


Oh geez, I thought they made a release already! Sorry for the noise 
then. I'll ask them about releasing.



Sincerely,
Sean M. Pappalardo
D.J. Pegasus
Mixxx Developer - Controller Specialist



smime.p7s
Description: S/MIME Cryptographic Signature
--
___
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel