AddTrack() public method

public AddTrack ( Track track ) : void
track Track
return void
Esempio n. 1
0
    public static void Main(string[] args)
    {
        string server_name = "Sample Server";
        string database_name = "Sample Database";
        ushort port = 3689;

        Database db = new Database (database_name);

        for (int i = 0; i < args.Length; i++) {
            if (args[i] == "--port") {
                port = Convert.ToUInt16 (args[++i]);
                continue;
            }

            if (args[i] == "--server-name") {
                server_name = args[++i];
                continue;
            }

            if (args[i] == "--database-name") {
                database_name = args[++i];
                continue;
            }

            if (args[i] == "--help") {
                ShowHelp ();
                return;
            }

            AddDirectory (db, args[i]);
        }

        db.Name = database_name;

           server = new Server (server_name);
        server.Collision += OnCollision;
        server.Port = port;

        Playlist pl = new Playlist ("foo playlist");
        foreach (Track track in db.Tracks) {
            pl.AddTrack (track);
        }

        db.AddPlaylist (pl);

        Console.WriteLine ("Done adding files");
        Console.WriteLine ("Starting Server '{0}' on Port {1}",
            server.Name, server.Port);
        server.AddDatabase (db);
        server.Commit ();
        server.Start ();
        Console.ReadLine ();

        server.Stop ();
    }
Esempio n. 2
0
        private Playlist ClonePlaylist(Database db, Playlist pl)
        {
            Playlist clonePl = new Playlist (pl.Name);
            clonePl.Id = pl.Id;

            IList<Track> pltracks = pl.Tracks;
            for (int i = 0; i < pltracks.Count; i++) {
                clonePl.AddTrack (db.LookupTrackById (pltracks[i].Id), pl.GetContainerId (i));
            }

            return clonePl;
        }
Esempio n. 3
0
        private void RefreshPlaylists()
        {
            if (!OpenConnection ())
                return;

            IDbCommand cmd = conn.CreateCommand ();
            cmd.CommandText = "SELECT PlaylistID, Name FROM Playlists";

            List<int> ids = new List<int> ();

            IDataReader reader = cmd.ExecuteReader ();
            while (reader.Read ()) {
                int id = (int) reader[0];
                ids.Add (id);

                if (playlists.ContainsKey (id))
                    continue;

                Playlist pl = new Playlist ((string) reader[1]);

                Daemon.DefaultDatabase.AddPlaylist (pl);
                playlists[id] = pl;
            }

            reader.Close ();

            // remove the deleted playlists, if any
            foreach (int id in new List<int> (playlists.Keys)) {
                if (!ids.Contains (id)) {
                    Daemon.DefaultDatabase.RemovePlaylist (playlists[id]);
                    playlists.Remove (id);
                }
            }

            // clear all the playlists
            foreach (Playlist pl in playlists.Values) {
                pl.Clear ();
            }

            cmd = conn.CreateCommand ();
            cmd.CommandText = "SELECT PlaylistID, TrackID FROM PlaylistEntries";
            reader = cmd.ExecuteReader ();

            while (reader.Read ()) {
                try {
                    Playlist pl = playlists[(int) reader[0]];
                    pl.AddTrack (tracks[(int) reader[1]]);
                } catch (KeyNotFoundException e) {
                    // something is not consistent, but nothing we can do about it
                }
            }

            reader.Close ();
        }
Esempio n. 4
0
        private Playlist AddPlaylist(IPod.Playlist ipl)
        {
            Playlist pl = new Playlist (ipl.Name);

            foreach (IPod.Track itrack in ipl.Tracks) {
                Track track = LookupTrack (itrack);
                if (track != null)
                    pl.AddTrack (track);
            }

            db.AddPlaylist (pl);
            return pl;
        }