no, i think not.
I extracted my import code from my project, you can easily insert it into a new jucer project
[code]/*
This file was auto-generated by the Jucer!
It contains the basic startup code for a Juce application.
==============================================================================
*/
#include “…/JuceLibraryCode/JuceHeader.h”
class ReadMp3 : public ThreadWithProgressWindow
{
public:
ReadMp3(File mp3File)
: ThreadWithProgressWindow(“read mp3”,true,true)
{
blocksize=32768;
AudioFormatManager formatManager;
formatManager.registerBasicFormats();
formatManager.registerFormat(new QuickTimeAudioFormat(),false);
reader = formatManager.createReaderFor (mp3File);
if (reader!=0)
{
if ((reader->lengthInSamples>0) && (reader->lengthInSamples < 2147483646))
{
buffer = new AudioSampleBuffer(2,(int)reader->lengthInSamples);
}
} else jassertfalse;
}
~ReadMp3()
{
}
void run()
{
if ((reader!=0) && (buffer!=0))
{
int position=0;
while ((!threadShouldExit()) && (position<reader->lengthInSamples))
{
buffer->readFromAudioReader(reader,position,jmin(blocksize,(int)reader->lengthInSamples-position),position,true,true);
setProgress (position / (double) reader->lengthInSamples);
position+=blocksize;
}
} else jassertfalse;
}
private:
ScopedPointer<AudioFormatReader> reader;
ScopedPointer<AudioSampleBuffer> buffer;
int blocksize;
};
//==============================================================================
class testImportApplication : public JUCEApplication
{
public:
//==============================================================================
testImportApplication()
{
}
~testImportApplication()
{
}
//==============================================================================
void initialise (const String& commandLine)
{
{
// init on message thread
ReadMp3 readmp3(File("/Applications/iPhoto.app/Contents/Resources/Music/Minuet in G.mp3"));
//run on background
readmp3.runThread();
}
AlertWindow::showMessageBox(AlertWindow::InfoIcon,"ready","","OK");
JUCEApplication::quit();
}
void shutdown()
{
// Do your application's shutdown code here..
}
//==============================================================================
void systemRequestedQuit()
{
quit();
}
//==============================================================================
const String getApplicationName()
{
return "testImport";
}
const String getApplicationVersion()
{
return ProjectInfo::versionString;
}
bool moreThanOneInstanceAllowed()
{
return true;
}
void anotherInstanceStarted (const String& commandLine)
{
}
private:
};
//==============================================================================
// This macro generates the main() routine that starts the app.
START_JUCE_APPLICATION(testImportApplication)[/code]