add item lib/cue error flags
[omnplay] / src / omnplay.cpp
index d460135..4e1511a 100644 (file)
@@ -642,6 +642,7 @@ static void omnplay_playlist_item_add(omnplay_instance_t* app, int after)
     memset(&item, 0, sizeof(playlist_item_t));
     if(ui_playlist_item_dialog(app, &item))
     {
+        omnplay_library_normalize_item(app, &item);
         item.type = t;
         omnplay_playlist_insert_items(app, idx, &item, 1);
     };
@@ -666,6 +667,7 @@ static void omnplay_playlist_item_edit(omnplay_instance_t* app)
 
     if(ui_playlist_item_dialog(app, &item))
     {
+        omnplay_library_normalize_item(app, &item);
         app->playlist.item[idx] = item;
         omnplay_playlist_draw_item(app, idx);
     };
@@ -766,11 +768,13 @@ static void omnplay_ctl(omnplay_instance_t* app, control_buttons_t button)
                 fprintf(stderr, "cue: failed with %d, %s\n", r, OmPlrGetErrorString((OmPlrError)r));
                 app->playlist.item[i].omn_idx = -1;
                 app->playlist.item[i].omn_offset = -1;
+                app->playlist.item[i].error |= PLAYLIST_ITEM_ERROR_CUE;
             }
             else
             {
                 app->playlist.item[i].omn_idx = c;
                 app->playlist.item[i].omn_offset = o;
+                app->playlist.item[i].error &= 0xF ^ PLAYLIST_ITEM_ERROR_CUE;
 
                 /* save selected item offset */
                 if(i == idx) p = o;