core/tags/album: Replace std::string with gchar *
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
7c3bba11b5
commit
ad48d24533
|
@ -1,3 +1,3 @@
|
|||
#!/usr/bin/python
|
||||
res = Glob("*.cpp")
|
||||
res = Glob("*.cpp") + Glob("*.c")
|
||||
Return("res")
|
||||
|
|
|
@ -9,39 +9,38 @@ extern "C" {
|
|||
|
||||
static struct database album_db;
|
||||
|
||||
static gchar *__album_key(const std::string &name, unsigned int year)
|
||||
static gchar *__album_key(const gchar *name, unsigned int year)
|
||||
{
|
||||
return g_strdup_printf("%u/%s", year, name.c_str());
|
||||
return g_strdup_printf("%u/%s", year, name);
|
||||
}
|
||||
|
||||
static struct album *__album_setup(struct album *album, const gchar *name)
|
||||
static struct album *__album_alloc(gchar *name, unsigned int year)
|
||||
{
|
||||
gchar *lower = string_lowercase(name);
|
||||
struct album *album = new struct album;
|
||||
|
||||
dbe_init(&album->al_dbe, album);
|
||||
album->al_year = year;
|
||||
album->al_name = name;
|
||||
album->al_lower = lower;
|
||||
album->al_lower = string_lowercase(album->al_name);
|
||||
|
||||
g_free(lower);
|
||||
return album;
|
||||
}
|
||||
|
||||
|
||||
static struct db_entry *album_alloc(const gchar *key)
|
||||
{
|
||||
struct album *album = new struct album;
|
||||
unsigned int year;
|
||||
gchar *name;
|
||||
|
||||
if (sscanf(key, "%u/%m[^\n]", &album->al_year, &name) == 1)
|
||||
if (sscanf(key, "%u/%m[^\n]", &year, &name) == 1)
|
||||
name = g_strdup("");
|
||||
album = __album_setup(album, name);
|
||||
|
||||
g_free(name);
|
||||
return &album->al_dbe;
|
||||
return &__album_alloc(name, year)->al_dbe;
|
||||
}
|
||||
|
||||
static void album_free(struct db_entry *dbe)
|
||||
{
|
||||
g_free(ALBUM(dbe)->al_name);
|
||||
g_free(ALBUM(dbe)->al_lower);
|
||||
delete ALBUM(dbe);
|
||||
}
|
||||
|
||||
|
@ -52,22 +51,20 @@ static gchar *album_key(struct db_entry *dbe)
|
|||
|
||||
static struct db_entry *album_read(struct file *file)
|
||||
{
|
||||
struct album *album = new struct album;
|
||||
gchar *name, *line;
|
||||
unsigned int year;
|
||||
gchar *line, *name;
|
||||
|
||||
line = file_readl(file);
|
||||
if (sscanf(line, "%u %m[^\n]", &album->al_year, &name) == 1)
|
||||
if (sscanf(line, "%u %m[^\n]", &year, &name) == 1)
|
||||
name = g_strdup("");
|
||||
album = __album_setup(album, name);
|
||||
|
||||
g_free(line);
|
||||
g_free(name);
|
||||
return &album->al_dbe;
|
||||
return &__album_alloc(name, year)->al_dbe;
|
||||
}
|
||||
|
||||
static void album_write(struct file *file, struct db_entry *dbe)
|
||||
{
|
||||
file_writef(file, "%u %s", ALBUM(dbe)->al_year, ALBUM(dbe)->al_name.c_str());
|
||||
file_writef(file, "%u %s", ALBUM(dbe)->al_year, ALBUM(dbe)->al_name);
|
||||
}
|
||||
|
||||
|
||||
|
@ -92,7 +89,7 @@ void album_db_deinit()
|
|||
db_deinit(&album_db);
|
||||
}
|
||||
|
||||
struct album *album_find(const std::string &name, unsigned int year)
|
||||
struct album *album_find(const gchar *name, unsigned int year)
|
||||
{
|
||||
gchar *key = __album_key(name, year);
|
||||
struct album *album = ALBUM(db_find(&album_db, key));
|
||||
|
@ -107,7 +104,7 @@ struct album *album_get(const unsigned int index)
|
|||
|
||||
int album_compare(struct album *lhs, struct album *rhs)
|
||||
{
|
||||
return string_compare(lhs->al_lower.c_str(), rhs->al_lower.c_str());
|
||||
return string_compare(lhs->al_lower, rhs->al_lower);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_TESTING
|
||||
|
|
|
@ -87,7 +87,7 @@ static void track_setup(struct db_entry *dbe)
|
|||
|
||||
filter_add(track->tr_lower.c_str(), track->dbe_index);
|
||||
filter_add(track->tr_artist->ar_lower.c_str(), track->dbe_index);
|
||||
filter_add(track->tr_album->al_lower.c_str(), track->dbe_index);
|
||||
filter_add(track->tr_album->al_lower, track->dbe_index);
|
||||
track->tr_library->li_size++;
|
||||
}
|
||||
|
||||
|
|
|
@ -61,12 +61,16 @@ public:
|
|||
{
|
||||
gchar *uri = gst_filename_to_uri(track_path(track).c_str(), NULL);
|
||||
gchar *len = string_sec2str(track->tr_length);
|
||||
gchar *from;
|
||||
|
||||
gst_change_state(GST_STATE_NULL);
|
||||
g_object_set(G_OBJECT(gst_player), "uri", uri, NULL);
|
||||
g_free(uri);
|
||||
|
||||
set_markup(o_album, "x-large", "From: " + track->tr_album->al_name);
|
||||
from = g_strdup_printf("From: %s", track->tr_album->al_name);
|
||||
set_markup(o_album, "x-large", from);
|
||||
g_free(from);
|
||||
|
||||
set_markup(o_artist, "x-large", "By: " + track->tr_artist->ar_name);
|
||||
set_markup(o_title, "xx-large", track->tr_title);
|
||||
o_duration->set_text(len);
|
||||
|
|
|
@ -98,6 +98,7 @@ void QueueModel::get_value_vfunc(const Gtk::TreeIter &iter, int column,
|
|||
Glib::ValueBase &value) const
|
||||
{
|
||||
struct track *track;
|
||||
std::string field;
|
||||
gchar *str;
|
||||
|
||||
if (!check_iter_validity(iter) ||
|
||||
|
@ -119,7 +120,8 @@ void QueueModel::get_value_vfunc(const Gtk::TreeIter &iter, int column,
|
|||
case 3:
|
||||
return set_val(track->tr_artist->ar_name, value);
|
||||
case 4:
|
||||
return set_val(track->tr_album->al_name, value);
|
||||
field = track->tr_album->al_name;
|
||||
return set_val(field, value);
|
||||
case 5:
|
||||
return set_val(track->tr_album->al_year, value);
|
||||
case 6:
|
||||
|
|
|
@ -22,8 +22,8 @@ extern "C" {
|
|||
*/
|
||||
struct album {
|
||||
unsigned int al_year; /* This album's year. */
|
||||
std::string al_name; /* This album's name. */
|
||||
std::string al_lower; /* This album's name (lowercased). */
|
||||
gchar *al_name; /* This album's name. */
|
||||
gchar *al_lower; /* This album's name (lowercased). */
|
||||
struct db_entry al_dbe;
|
||||
};
|
||||
|
||||
|
@ -37,7 +37,7 @@ void album_db_init();
|
|||
void album_db_deinit();
|
||||
|
||||
/* Called to find an album tag by name and year. */
|
||||
struct album *album_find(const std::string &, unsigned int);
|
||||
struct album *album_find(const gchar *, unsigned int);
|
||||
|
||||
/* Called to get an album tag with a specific index. */
|
||||
struct album *album_get(const unsigned int);
|
||||
|
|
Loading…
Reference in New Issue