예제 #1
0
        public AudioCdRipper(AudioCdSource source)
        {
            if (ripper_extension_node != null) {
                ripper = (IAudioCdRipper)ripper_extension_node.CreateInstance ();
                ripper.TrackFinished += OnTrackFinished;
                ripper.Progress += OnProgress;
                ripper.Error += OnError;
            } else {
                throw new ApplicationException ("No AudioCdRipper extension is installed");
            }

            this.source = source;
        }
예제 #2
0
        public AudioCdRipper(AudioCdSource source)
        {
            if (ripper_extension_node != null)
            {
                ripper = (IAudioCdRipper)ripper_extension_node.CreateInstance();
                ripper.TrackFinished += OnTrackFinished;
                ripper.Progress      += OnProgress;
                ripper.Error         += OnError;
            }
            else
            {
                throw new ApplicationException("No AudioCdRipper extension is installed");
            }

            this.source = source;
        }
예제 #3
0
        public void Dispose()
        {
            ResetState();

            if (source != null && source.Model != null)
            {
                source.Model.UnlockDoor();
            }

            if (ripper != null)
            {
                ripper.Finish();
                ripper = null;
            }

            if (user_job != null)
            {
                user_job.Finish();
                user_job = null;
            }
        }
예제 #4
0
        public void Dispose()
        {
            ResetState ();

            if (source != null && source.Model != null) {
                source.Model.UnlockDoor ();
            }

            if (ripper != null) {
                ripper.Finish ();
                ripper = null;
            }

            if (user_job != null) {
                user_job.Finish ();
                user_job = null;
            }
        }