Add count value to smart playlists, closing #150

This commit is contained in:
Ron Pedde 2007-10-23 04:52:25 +00:00
parent fffe34e5eb
commit a8b6d93c07
3 changed files with 28 additions and 14 deletions

View File

@ -2,7 +2,7 @@
<h2>Smart Playlists</h2>
<table cellspacing="0" >
<thead><tr><th>ID</th><th>Playlist Name</th><th>Type</th><th>Action</th></tr></thead>
<thead><tr><th>ID</th><th>Playlist Name</th><th>Type</th><th>Count</th><th>Action</th></tr></thead>
<tbody id="playlists">
<tr><td></td></tr>
</tbody>

View File

@ -172,6 +172,7 @@ function pl_process() {
var pl_id;
var pl_name;
var pl_type;
var pl_count;
pl_id=playlists[x].getElementsByTagName("dmap.itemid")[0].firstChild.nodeValue;
if(playlists[x].getElementsByTagName("dmap.itemname")[0].firstChild) {
@ -180,6 +181,7 @@ function pl_process() {
pl_name = "";
}
pl_type=playlists[x].getElementsByTagName("org.mt-daapd.playlist-type")[0].firstChild.nodeValue;
pl_count=playlists[x].getElementsByTagName("dmap.itemcount")[0].firstChild.nodeValue;
playlist_info[String(pl_id)] = { 'name': pl_name, 'type': pl_type };
@ -209,20 +211,24 @@ function pl_process() {
var td2 = document.createElement("td");
var td3 = document.createElement("td");
var td4 = document.createElement("td");
var td5 = document.createElement("td");
td1.innerHTML=pl_id + '\n';
td2.innerHTML=pl_name + '\n';
td3.innerHTML=pl_type + '\n';
td4.innerHTML=pl_count + '\n';
if((pl_id != 1) && (playlist_info[pl_id]['type'] == 1)) {
td4.innerHTML='<a href="javascript:pl_edit(' + pl_id + ')">Edit</a>';
td4.innerHTML = td4.innerHTML + '&nbsp;<a href="javascript:pl_delete(' + pl_id + ')">Delete</a>';
td5.innerHTML='<a href="javascript:pl_edit(' + pl_id + ')">Edit</a>';
td5.innerHTML = td5.innerHTML + '&nbsp;<a href="javascript:pl_delete(' + pl_id + ')">Delete</a>';
} else {
td4.innerHTML="&nbsp;";
td5.innerHTML="&nbsp;";
}
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
row.appendChild(td5);
pl_table.appendChild(row);
}
}

View File

@ -632,17 +632,24 @@ int db_sql_edit_playlist(char **pe, int id, char *name, char *clause) {
return DB_E_DUPLICATE_PLAYLIST;
}
if((playlist_type == PL_SMART)&&(clause))
return db_sql_exec_fn(pe,E_LOG,"update playlists set title='%q', "
if((playlist_type == PL_SMART)&&(clause)) {
result=db_sql_exec_fn(pe,E_LOG,"update playlists set title='%q', "
"query='%q' where id=%d",name,clause,id);
return db_sql_exec_fn(pe,E_LOG,"update playlists set title='%q' "
"where id=%d",name,id);
} else {
result=db_sql_exec_fn(pe,E_LOG,"update playlists set title='%q' "
"where id=%d",name,id);
}
db_sql_update_playlists(NULL);
return result;
}
if((playlist_type == PL_SMART) && (clause))
return db_sql_exec_fn(pe,E_LOG,"update playlists set query='%q' "
"where id=%d",clause,id);
if((playlist_type == PL_SMART) && (clause)) {
result= db_sql_exec_fn(pe,E_LOG,"update playlists set query='%q' "
"where id=%d",clause,id);
db_sql_update_playlists(NULL);
return result;
}
return DB_E_SUCCESS; /* ?? */
}
@ -730,6 +737,7 @@ int db_sql_add_playlist(char **pe, char *name, int type, char *clause, char *pat
db_sql_exec_fn(NULL,E_FATAL,"insert into plupdated values (%d)",*playlistid);
}
db_sql_update_playlists(NULL);
return result;
}
@ -833,7 +841,7 @@ int db_sql_add(char **pe, MP3FILE *pmp3, int *id) {
/* sqlite2 doesn't support 64 bit ints */
sprintf(sample_count,"%lld",pmp3->sample_count);
sprintf(file_size,"%lld",pmp3->file_size);
err=db_sql_exec_fn(pe,E_DBG,"INSERT INTO songs VALUES "
"(NULL," // id
"'%q'," // path
@ -950,7 +958,7 @@ int db_sql_update(char **pe, MP3FILE *pmp3, int *id) {
char *path;
char sample_count[40];
char file_size[40];
if(!pmp3->time_modified)
pmp3->time_modified = (int)time(NULL);
@ -958,7 +966,7 @@ int db_sql_update(char **pe, MP3FILE *pmp3, int *id) {
sprintf(sample_count,"%lld",pmp3->sample_count);
sprintf(file_size,"%lld",pmp3->file_size);
strcpy(query,"UPDATE songs SET "
"title='%q'," // title
"artist='%q'," // artist