Logo Search packages:      
Sourcecode: ardour version File versions  Download package

ImageFrameView * ImageFrameSocketHandler::get_imageframe_view_from_desc ( const string &  track_id,
const string &  group_id,
const string &  item_id,
int &  errcode,
std::string &  errmsg 
) [private]

Returns the ImageFrameView from the specified description The errcode parameter is used to indicate the item which caused an error on failure of this method 0 = suces 1 = the track item was not found 2 = the group item was not found 3 = the imageframe item was not found

track_id the track on which the item is placed

Parameters:
group_id the group in which the item is a member
item_id the id of the item
int32_t reference used for error codes on failure
errmsg populated with a description of the error on failure
Returns:
the described item on success, 0 otherwise
Returns the ImageFrameView from the specified description The errcode parameter is used to indicate the item which caused an error on failure of this method 0 = success 1 = the track item was not found 2 = the group item was not found 3 = the imageframe item was not found

track_id the track on which the item is placed

Parameters:
group_id the group in which the item is a member
item_id the id of the item
int32_t reference used for error codes on failure
errmsg populated with a description of the error on failure
Returns:
the described item on success, 0 otherwise

Definition at line 2223 of file imageframe_socket_handler.cc.

References ImageFrameTimeAxisView::get_named_imageframe_group(), ImageFrameTimeAxisGroup::get_named_imageframe_item(), ImageFrameTimeAxis::get_view(), and thePublicEditor.

Referenced by handle_imageframe_position_lock_update(), handle_imageframe_view_max_duration_enable_update(), handle_imageframe_view_max_duration_update(), handle_imageframe_view_min_duration_enable_update(), and handle_imageframe_view_min_duration_update().

{
      ImageFrameView* item = 0 ;
      
      // get the named time axis
      ImageFrameTimeAxis* ifta = dynamic_cast<ImageFrameTimeAxis*>(thePublicEditor.get_named_time_axis(track_id)) ;
      
      if(!ifta)
      {
            errcode = 1 ;
            errmsg = std::string("Image Frame Time Axis Not Found: ").append(track_id) ;
      }
      else
      {
            // get the parent scene
            ImageFrameTimeAxisGroup* iftag = ifta->get_view()->get_named_imageframe_group(group_id) ;
            if(!iftag)
            {
                  errcode = 2 ;
                  errmsg = std::string("Image Frame Group Not Found: ").append(group_id) ;
            }
            else
            {
                  ImageFrameView* ifv = iftag->get_named_imageframe_item(item_id) ;
                  if(!ifv)
                  {
                        errcode = 3 ;
                        errmsg = std::string("Image Frame Item Not Found: ").append(item_id) ;
                  }
                  else
                  {
                        // yay!!
                        item = ifv ;
                        errcode = 0 ;
                  }
            }
      }
      
      return(item) ;
}


Generated by  Doxygen 1.6.0   Back to index