Exemplo n.º 1
0
/* update "totals" view section */
void info_update_totals_view(void) {
    guint32 tracks = 0, playtime = 0; /* playtime in secs */
    gdouble filesize = 0; /* in bytes */
    Playlist *pl;
    iTunesDB *itdb;

    callback_call_all(callbacks_info_update_totals_view);

    if (!info_window)
        return; /* not open */

    itdb = get_itdb_ipod();
    if (itdb) {
        pl = itdb_playlist_mpl(itdb);
        g_return_if_fail (pl);
        fill_in_info(pl->members, &tracks, &playtime, &filesize);
    }
    itdb = get_itdb_local();
    if (itdb) {
        pl = itdb_playlist_mpl(itdb);
        g_return_if_fail (pl);
        fill_in_info(pl->members, &tracks, &playtime, &filesize);
    }
    info_update_totals_view_space();
}
Exemplo n.º 2
0
QString
IpodDeviceHelper::ipodName( Itdb_iTunesDB *itdb )
{
    Itdb_Playlist *mpl = itdb ? itdb_playlist_mpl( itdb ) : 0;
    QString mplName = mpl ? QString::fromUtf8( mpl->name ) : QString();
    if( mplName.isEmpty() )
        mplName = i18nc( "default iPod name (when user-set name is empty)", "iPod" );

    return mplName;
}
Exemplo n.º 3
0
static void
rb_ipod_db_add_track_internal (RbIpodDb *ipod_db, Itdb_Track *track)
{
	RbIpodDbPrivate *priv = IPOD_DB_GET_PRIVATE (ipod_db);

	itdb_track_add (priv->itdb, track, -1);
	itdb_playlist_add_track (itdb_playlist_mpl (priv->itdb),
				 track, -1);

	rb_ipod_db_save_async (ipod_db);
}
Exemplo n.º 4
0
void
IpodDeviceHelper::setIpodName( Itdb_iTunesDB *itdb, const QString &newName )
{
    if( !itdb )
        return;
    Itdb_Playlist *mpl = itdb_playlist_mpl( itdb );
    if( !mpl )
        return;
    g_free( mpl->name );
    mpl->name = g_strdup( newName.toUtf8() );
}
Exemplo n.º 5
0
const char *
rb_ipod_db_get_ipod_name (RbIpodDb *db)
{
	Itdb_Playlist *mpl;
	RbIpodDbPrivate *priv = IPOD_DB_GET_PRIVATE (db);
	mpl = itdb_playlist_mpl (priv->itdb);
	if (mpl == NULL) {
		rb_debug ("Couldn't find iPod master playlist");
		return NULL;
	}

	return mpl->name;	
}
Exemplo n.º 6
0
Itdb_Track* GPodDevice::AddTrackToITunesDb(const Song& metadata) {
  // Create the track
  Itdb_Track* track = itdb_track_new();
  metadata.ToItdb(track);

  // Add it to the DB and the master playlist
  // The DB takes ownership of the track
  itdb_track_add(db_, track, -1);
  Itdb_Playlist* mpl = itdb_playlist_mpl(db_);
  itdb_playlist_add_track(mpl, track, -1);

  return track;
}
Exemplo n.º 7
0
static void
rb_ipod_db_set_ipod_name_internal (RbIpodDb *ipod_db, const char *name)
{
	Itdb_Playlist *mpl;
	RbIpodDbPrivate *priv = IPOD_DB_GET_PRIVATE (ipod_db);

	mpl = itdb_playlist_mpl (priv->itdb);
	if (mpl != NULL) {
		if (mpl->name != NULL) {
			rb_debug ("Renaming iPod from %s to %s", mpl->name, name);
			if (strcmp (mpl->name, name) == 0) {
				rb_debug ("iPod is already named %s", name);
				return;
			}
		}
		g_free (mpl->name);
		mpl->name = g_strdup (name);
	} else {
		g_warning ("iPod's master playlist is missing");
	}

	rb_ipod_db_save_async (ipod_db);
}
Exemplo n.º 8
0
	Itdb_Track* GpodDb::AddTrack (const QString& path, const QString& filename, const UnmountableFileInfo& info)
	{
		auto dup = [] (const QString& str) { return strdup (str.toUtf8 ().constData ()); };

		const auto track = itdb_track_new ();
		track->track_nr = info.TrackNumber_;
		track->title = dup (info.TrackTitle_);
		track->artist = dup (info.Artist_);
		track->album = dup (info.Album_);
		track->year = info.AlbumYear_;
		track->genre = dup (info.Genres_.join (" / "));
		track->size = QFileInfo { path }.size ();

		track->transferred = 1;

		track->filetype = strdup ("mp3");

		const auto& suffix = filename.section ('.', -1, -1).toUpper ();
		track->filetype_marker = 0;
		for (int i = 0; i < 4; ++i)
		{
			track->filetype_marker <<= 8;
			track->filetype_marker |= (i >= suffix.length () ?
						' ' :
						suffix [i].toLatin1 ());
		}

		track->ipod_path = strdup (filename.toUtf8 ().mid (1));
		itdb_filename_fs2ipod (track->ipod_path);

		itdb_track_add (DB_, track, -1);

		itdb_playlist_add_track (itdb_playlist_mpl (DB_), track, -1);

		return track;
	}