Ticket #7916: save_cutlist_incrementally_v3.patch

File save_cutlist_incrementally_v3.patch, 4.1 KB (added by Jim Stichnoth <stichnot@…>, 10 years ago)
  • libs/libmythtv/deletemap.h

     
    1111                 m_seekamountpos(4), m_seekamount(30) { }
    1212
    1313    bool HandleAction(QString &action, uint64_t frame, uint64_t played,
    14                       uint64_t total, double rate);
     14                      uint64_t total, double rate,
     15                      PlayerContext *ctx);
    1516    int  GetSeekAmount(void) { return m_seekamount; }
    1617    void UpdateSeekAmount(int change, double framerate);
    1718    void SetSeekAmount(int amount) { m_seekamount = amount; }
     
    2627    bool IsEmpty(void);
    2728
    2829    void SetMap(const frm_dir_map_t &map);
    29     void LoadCommBreakMap(uint64_t total, frm_dir_map_t &map);
     30    void LoadCommBreakMap(uint64_t total, frm_dir_map_t &map,
     31                          PlayerContext *ctx);
    3032    void SaveMap(uint64_t total, PlayerContext *ctx);
    3133    void LoadMap(uint64_t total, PlayerContext *ctx);
    3234    void CleanMap(uint64_t total);
  • libs/libmythtv/NuppelVideoPlayer.cpp

     
    33743374            {
    33753375                frm_dir_map_t map;
    33763376                commBreakMap.GetMap(map);
    3377                 deleteMap.LoadCommBreakMap(totalFrames, map);
     3377                deleteMap.LoadCommBreakMap(totalFrames, map, player_ctx);
    33783378            }
    33793379        }
    33803380        else if (action == "PREVCUT")
     
    34223422        }
    34233423        else
    34243424            handled = deleteMap.HandleAction(action, frame, framesPlayed,
    3425                                              totalFrames, video_frame_rate);
     3425                                             totalFrames, video_frame_rate,
     3426                                             player_ctx);
    34263427    }
    34273428
    34283429    if (handled && refresh)
  • libs/libmythtv/deletemap.cpp

     
    1111  { VERBOSE(VB_IMPORTANT, LOC_ERR + "Cannot edit outside editmode."); return; }
    1212
    1313bool DeleteMap::HandleAction(QString &action, uint64_t frame,
    14                              uint64_t played, uint64_t total, double rate)
     14                             uint64_t played, uint64_t total, double rate,
     15                             PlayerContext *ctx)
    1516{
    1617    bool handled = true;
    1718    if (action == "DELETE")
     19    {
    1820        Delete(frame, total);
     21        SaveMap(total, ctx);
     22    }
    1923    else if (action == "MOVETOCURRENT")
     24    {
    2025        Move(frame, played, total);
     26        SaveMap(total, ctx);
     27    }
    2128    else if (action == "REVERSE")
     29    {
    2230        Reverse(frame, total);
     31        SaveMap(total, ctx);
     32    }
    2333    else if (action == "NEWCUTTOLEFT")
     34    {
    2435        Add(frame, total, MARK_CUT_END);
     36        SaveMap(total, ctx);
     37    }
    2538    else if (action == "NEWCUTTORIGHT")
     39    {
    2640        Add(frame, total, MARK_CUT_START);
     41        SaveMap(total, ctx);
     42    }
    2743    else if (action == "UP")
    2844        UpdateSeekAmount(1, rate);
    2945    else if (action == "DOWN")
    3046        UpdateSeekAmount(-1, rate);
    3147    else if (action == "CLEARMAP")
     48    {
    3249        Clear();
     50        SaveMap(total, ctx);
     51    }
    3352    else if (action == "INVERTMAP")
     53    {
    3454        ReverseAll(total);
     55        SaveMap(total, ctx);
     56    }
    3557    else
    3658        handled = false;
    3759    return handled;
     
    407429}
    408430
    409431/// Loads the given commercial break map into the deleteMap.
    410 void DeleteMap::LoadCommBreakMap(uint64_t total, frm_dir_map_t &map)
     432void DeleteMap::LoadCommBreakMap(uint64_t total, frm_dir_map_t &map,
     433                                 PlayerContext *ctx)
    411434{
    412435    Clear();
    413436    frm_dir_map_t::Iterator it = map.begin();
     
    415438        Add(it.key(), it.value() == MARK_COMM_START ?
    416439                MARK_CUT_START : MARK_CUT_END);
    417440    CleanMap(total);
     441    SaveMap(total, ctx);
    418442}
    419443
    420444/// Loads the delete map from the database.