Banshee.AudioCd.AudioCdDiscModel.LoadModelFromDisc C# (CSharp) Method

LoadModelFromDisc() public method

public LoadModelFromDisc ( ) : void
return void
        public void LoadModelFromDisc ()
        {
            Clear ();

            LocalDisc mb_disc = LocalDisc.GetFromDevice (volume.DeviceNode);
            if (mb_disc == null) {
                throw new ApplicationException ("Could not read contents of the disc. Platform may not be supported.");
            }

            TimeSpan[] durations = mb_disc.GetTrackDurations ();
            for (int i = 0, n = durations.Length; i < n; i++) {
                AudioCdTrackInfo track = new AudioCdTrackInfo (this, volume.DeviceNode, i);
                track.TrackNumber = i + 1;
                track.TrackCount = n;
                track.DiscNumber = 1;
                track.Duration = durations[i];
                track.ArtistName = Catalog.GetString ("Unknown Artist");
                track.AlbumTitle = Catalog.GetString ("Unknown Album");
                track.TrackTitle = String.Format (Catalog.GetString ("Track {0}"), track.TrackNumber);
                track.FileSize = PCM_FACTOR * (uint)track.Duration.TotalSeconds;
                Add (track);

                duration += track.Duration;
                file_size += track.FileSize;
            }

            EnabledCount = Count;

            Reload ();

            ThreadPool.QueueUserWorkItem (LoadDiscMetadata, mb_disc);
        }

Usage Example

Example #1
0
        public AudioCdSource (AudioCdService service, AudioCdDiscModel discModel)
            : base (Catalog.GetString ("Audio CD"), discModel.Title, 400)
        {
            this.service = service;
            this.disc_model = discModel;

            TypeUniqueId = "";

            Properties.SetString ("TrackView.ColumnControllerXml", String.Format (@"
                <column-controller>
                  <column>
                    <renderer type=""Hyena.Data.Gui.ColumnCellCheckBox"" property=""RipEnabled""/>
                  </column>
                  <add-all-defaults />
                </column-controller>
            "));

            disc_model.MetadataQueryStarted += OnMetadataQueryStarted;
            disc_model.MetadataQueryFinished += OnMetadataQueryFinished;
            disc_model.EnabledCountChanged += OnEnabledCountChanged;
            disc_model.LoadModelFromDisc ();

            SetupGui ();
        }
All Usage Examples Of Banshee.AudioCd.AudioCdDiscModel::LoadModelFromDisc