| 
																	
																	
																		
																	
																	
																 | 
																@@ -2132,34 +2132,36 @@ static IDiscRecorder* enumCDBurners (StringArray* list, int indexToOpen, IDiscMa | 
															
														
														
													
														
															
																 | 
																 | 
																    return result;
 | 
																 | 
																 | 
																    return result;
 | 
															
														
														
													
														
															
																 | 
																 | 
																}
 | 
																 | 
																 | 
																}
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																const StringArray AudioCDBurner::findAvailableDevices()
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																{
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    StringArray devs;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    enumCDBurners (&devs, -1, 0);
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    return devs;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																}
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																AudioCDBurner* AudioCDBurner::openDevice (const int deviceIndex)
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																{
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    ScopedPointer<AudioCDBurner> b (new AudioCDBurner (deviceIndex));
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    if (b->pimpl == 0)
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        b = 0;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    return b.release();
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																}
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																//==============================================================================
 | 
																 | 
																 | 
																//==============================================================================
 | 
															
														
														
													
														
															
																 | 
																 | 
																class AudioCDBurner::Pimpl  : public IDiscMasterProgressEvents
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																class AudioCDBurner::Pimpl  : public IDiscMasterProgressEvents,
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                              public Timer
 | 
															
														
														
													
														
															
																 | 
																 | 
																{
 | 
																 | 
																 | 
																{
 | 
															
														
														
													
														
															
																 | 
																 | 
																public:
 | 
																 | 
																 | 
																public:
 | 
															
														
														
													
														
															
																 | 
																 | 
																    Pimpl()
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																      : listener (0), progress (0), shouldCancel (false), refCount (1)
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    Pimpl (AudioCDBurner& owner_, IDiscMaster* discMaster_, IDiscRecorder* discRecorder_)
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																      : owner (owner_), discMaster (discMaster_), discRecorder (discRecorder_), redbook (0),
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        listener (0), progress (0), shouldCancel (false), refCount (1)
 | 
															
														
														
													
														
															
																 | 
																 | 
																    {
 | 
																 | 
																 | 
																    {
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        HRESULT hr = discMaster->SetActiveDiscMasterFormat (IID_IRedbookDiscMaster, (void**) &redbook);
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        jassert (SUCCEEDED (hr));
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        hr = discMaster->SetActiveDiscRecorder (discRecorder);
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        //jassert (SUCCEEDED (hr));
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        lastState = getDiskState();
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        startTimer (2000);
 | 
															
														
														
													
														
															
																 | 
																 | 
																    }
 | 
																 | 
																 | 
																    }
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    ~Pimpl()  {}
 | 
																 | 
																 | 
																    ~Pimpl()  {}
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    void releaseObjects()
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    {
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        discRecorder->Close();
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (redbook != 0)
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            redbook->Release();
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        discRecorder->Release();
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        discMaster->Release();
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        Release();
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    }
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    HRESULT __stdcall QueryInterface (REFIID id, void __RPC_FAR* __RPC_FAR* result)
 | 
																 | 
																 | 
																    HRESULT __stdcall QueryInterface (REFIID id, void __RPC_FAR* __RPC_FAR* result)
 | 
															
														
														
													
														
															
																 | 
																 | 
																    {
 | 
																 | 
																 | 
																    {
 | 
															
														
														
													
														
															
																 | 
																 | 
																        if (result == 0)
 | 
																 | 
																 | 
																        if (result == 0)
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -2205,6 +2207,35 @@ public: | 
															
														
														
													
														
															
																 | 
																 | 
																    HRESULT __stdcall NotifyBurnComplete (HRESULT /*status*/)               { return E_NOTIMPL; }
 | 
																 | 
																 | 
																    HRESULT __stdcall NotifyBurnComplete (HRESULT /*status*/)               { return E_NOTIMPL; }
 | 
															
														
														
													
														
															
																 | 
																 | 
																    HRESULT __stdcall NotifyEraseComplete (HRESULT /*status*/)              { return E_NOTIMPL; }
 | 
																 | 
																 | 
																    HRESULT __stdcall NotifyEraseComplete (HRESULT /*status*/)              { return E_NOTIMPL; }
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    class ScopedDiscOpener
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    {
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    public:
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        ScopedDiscOpener (Pimpl& p) : pimpl (p) { pimpl.discRecorder->OpenExclusive(); }
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        ~ScopedDiscOpener()                     { pimpl.discRecorder->Close(); }
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    private:
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        Pimpl& pimpl;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    };
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    DiskState getDiskState()
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    {
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        const ScopedDiscOpener opener (*this);
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        long type, flags;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        HRESULT hr = discRecorder->QueryMediaType (&type, &flags);
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (FAILED (hr))
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            return unknown;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (type != 0 && (flags & MEDIA_WRITABLE) != 0)
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            return writableDiskPresent;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (type == 0)
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            return noDisc;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        else
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            return readOnlyDiskPresent;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    }
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    int getIntProperty (const LPOLESTR name, const int defaultReturn) const
 | 
																 | 
																 | 
																    int getIntProperty (const LPOLESTR name, const int defaultReturn) const
 | 
															
														
														
													
														
															
																 | 
																 | 
																    {
 | 
																 | 
																 | 
																    {
 | 
															
														
														
													
														
															
																 | 
																 | 
																        ComSmartPtr<IPropertyStorage> prop;
 | 
																 | 
																 | 
																        ComSmartPtr<IPropertyStorage> prop;
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -2239,16 +2270,19 @@ public: | 
															
														
														
													
														
															
																 | 
																 | 
																                && SUCCEEDED (discRecorder->SetRecorderProperties (prop));
 | 
																 | 
																 | 
																                && SUCCEEDED (discRecorder->SetRecorderProperties (prop));
 | 
															
														
														
													
														
															
																 | 
																 | 
																    }
 | 
																 | 
																 | 
																    }
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    class DiskOpener
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    void timerCallback()
 | 
															
														
														
													
														
															
																 | 
																 | 
																    {
 | 
																 | 
																 | 
																    {
 | 
															
														
														
													
														
															
																 | 
																 | 
																    public:
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        DiskOpener (Pimpl& p) : pimpl (p) { pimpl.discRecorder->OpenExclusive(); }
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        ~DiskOpener()                     { pimpl.discRecorder->Close(); }
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        const DiskState state = getDiskState();
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    private:
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        Pimpl& pimpl;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    };
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (state != lastState)
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        {
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            lastState = state;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            owner.sendChangeMessage (&owner);
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        }
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    }
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    AudioCDBurner& owner;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    DiskState lastState;
 | 
															
														
														
													
														
															
																 | 
																 | 
																    IDiscMaster* discMaster;
 | 
																 | 
																 | 
																    IDiscMaster* discMaster;
 | 
															
														
														
													
														
															
																 | 
																 | 
																    IDiscRecorder* discRecorder;
 | 
																 | 
																 | 
																    IDiscRecorder* discRecorder;
 | 
															
														
														
													
														
															
																 | 
																 | 
																    IRedbookDiscMaster* redbook;
 | 
																 | 
																 | 
																    IRedbookDiscMaster* redbook;
 | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																	
																 | 
																@@ -2263,52 +2297,39 @@ private: | 
															
														
														
													
														
															
																 | 
																 | 
																//==============================================================================
 | 
																 | 
																 | 
																//==============================================================================
 | 
															
														
														
													
														
															
																 | 
																 | 
																AudioCDBurner::AudioCDBurner (const int deviceIndex)
 | 
																 | 
																 | 
																AudioCDBurner::AudioCDBurner (const int deviceIndex)
 | 
															
														
														
													
														
															
																 | 
																 | 
																{
 | 
																 | 
																 | 
																{
 | 
															
														
														
													
														
															
																 | 
																 | 
																    IDiscMaster* discMaster;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    IDiscRecorder* dr = enumCDBurners (0, deviceIndex, &discMaster);
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    IDiscMaster* discMaster = 0;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    IDiscRecorder* discRecorder = enumCDBurners (0, deviceIndex, &discMaster);
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    if (dr != 0)
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    {
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        IRedbookDiscMaster* redbook;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        HRESULT hr = discMaster->SetActiveDiscMasterFormat (IID_IRedbookDiscMaster, (void**) &redbook);
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        hr = discMaster->SetActiveDiscRecorder (dr);
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl = new Pimpl();
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl->discMaster = discMaster;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl->discRecorder = dr;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl->redbook = redbook;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    }
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (discRecorder != 0)
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        pimpl = new Pimpl (*this, discMaster, discRecorder);
 | 
															
														
														
													
														
															
																 | 
																 | 
																}
 | 
																 | 
																 | 
																}
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																AudioCDBurner::~AudioCDBurner()
 | 
																 | 
																 | 
																AudioCDBurner::~AudioCDBurner()
 | 
															
														
														
													
														
															
																 | 
																 | 
																{
 | 
																 | 
																 | 
																{
 | 
															
														
														
													
														
															
																 | 
																 | 
																    if (pimpl != 0)
 | 
																 | 
																 | 
																    if (pimpl != 0)
 | 
															
														
														
													
														
															
																 | 
																 | 
																    {
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl->discRecorder->Close();
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl->redbook->Release();
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl->discRecorder->Release();
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl->discMaster->Release();
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        pimpl.release()->Release();
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    }
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        pimpl.release()->releaseObjects();
 | 
															
														
														
													
														
															
																 | 
																 | 
																}
 | 
																 | 
																 | 
																}
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																AudioCDBurner::DiskState AudioCDBurner::getDiskState() const
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																const StringArray AudioCDBurner::findAvailableDevices()
 | 
															
														
														
													
														
															
																 | 
																 | 
																{
 | 
																 | 
																 | 
																{
 | 
															
														
														
													
														
															
																 | 
																 | 
																    const Pimpl::DiskOpener opener (*pimpl);
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    StringArray devs;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    enumCDBurners (&devs, -1, 0);
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    return devs;
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																}
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    long type, flags;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    HRESULT hr = pimpl->discRecorder->QueryMediaType (&type, &flags);
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																AudioCDBurner* AudioCDBurner::openDevice (const int deviceIndex)
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    ScopedPointer<AudioCDBurner> b (new AudioCDBurner (deviceIndex));
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    if (FAILED (hr))
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        return unknown;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (b->pimpl == 0)
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        b = 0;
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    if (type != 0 && (flags & MEDIA_WRITABLE) != 0)
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        return writableDiskPresent;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    return b.release();
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																}
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    if (type == 0)
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        return noDisc;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    else
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																        return readOnlyDiskPresent;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																AudioCDBurner::DiskState AudioCDBurner::getDiskState() const
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    return pimpl->getDiskState();
 | 
															
														
														
													
														
															
																 | 
																 | 
																}
 | 
																 | 
																 | 
																}
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																bool AudioCDBurner::isDiskPresent() const
 | 
																 | 
																 | 
																bool AudioCDBurner::isDiskPresent() const
 | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																	
																 | 
																@@ -2318,8 +2339,8 @@ bool AudioCDBurner::isDiskPresent() const | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																bool AudioCDBurner::openTray()
 | 
																 | 
																 | 
																bool AudioCDBurner::openTray()
 | 
															
														
														
													
														
															
																 | 
																 | 
																{
 | 
																 | 
																 | 
																{
 | 
															
														
														
													
														
															
																 | 
																 | 
																    const Pimpl::DiskOpener opener (*pimpl);
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																    return pimpl->discRecorder->Eject() == S_OK;
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    const Pimpl::ScopedDiscOpener opener (*pimpl);
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    return SUCCEEDED (pimpl->discRecorder->Eject());
 | 
															
														
														
													
														
															
																 | 
																 | 
																}
 | 
																 | 
																 | 
																}
 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																AudioCDBurner::DiskState AudioCDBurner::waitUntilStateChange (int timeOutMilliseconds)
 | 
																 | 
																 | 
																AudioCDBurner::DiskState AudioCDBurner::waitUntilStateChange (int timeOutMilliseconds)
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																	
																 | 
																
  |