Blame include/cdio++/track.hpp

Packit dd8086
/*
Packit dd8086
    $Id: track.hpp,v 1.2 2008/03/25 15:59:10 karl Exp $
Packit dd8086
Packit dd8086
    Copyright (C) 2005, 2008 Rocky Bernstein <rocky@gnu.org>
Packit dd8086
Packit dd8086
    This program is free software: you can redistribute it and/or modify
Packit dd8086
    it under the terms of the GNU General Public License as published by
Packit dd8086
    the Free Software Foundation, either version 3 of the License, or
Packit dd8086
    (at your option) any later version.
Packit dd8086
Packit dd8086
    This program is distributed in the hope that it will be useful,
Packit dd8086
    but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit dd8086
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit dd8086
    GNU General Public License for more details.
Packit dd8086
Packit dd8086
    You should have received a copy of the GNU General Public License
Packit dd8086
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit dd8086
*/
Packit dd8086
Packit dd8086
/** \file track.hpp
Packit dd8086
 *  \brief methods relating to getting Compact Discs. This file
Packit dd8086
 *  should not be #included directly.
Packit dd8086
 */
Packit dd8086
Packit dd8086
/*!  
Packit dd8086
  Return an opaque CdIo_t pointer for the given track object.
Packit dd8086
*/
Packit dd8086
CdIo_t *getCdIo()
Packit dd8086
{
Packit dd8086
  return p_cdio;
Packit dd8086
}
Packit dd8086
Packit dd8086
/*! Return number of channels in track: 2 or 4; -2 if not
Packit dd8086
  implemented or -1 for error.
Packit dd8086
  Not meaningful if track is not an audio track.
Packit dd8086
*/
Packit dd8086
int getChannels()
Packit dd8086
{
Packit dd8086
  return cdio_get_track_channels(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086
/*! Return copy protection status on a track. Is this meaningful
Packit dd8086
  if not an audio track?
Packit dd8086
*/
Packit dd8086
track_flag_t getCopyPermit() 
Packit dd8086
{
Packit dd8086
  return cdio_get_track_copy_permit(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086
/*!  
Packit dd8086
  Get the format (audio, mode2, mode1) of track. 
Packit dd8086
*/
Packit dd8086
track_format_t getFormat()
Packit dd8086
{
Packit dd8086
  return cdio_get_track_format(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086
/*!
Packit dd8086
  Return true if we have XA data (green, mode2 form1) or
Packit dd8086
  XA data (green, mode2 form2). That is track begins:
Packit dd8086
  sync - header - subheader
Packit dd8086
  12     4      -  8
Packit dd8086
  
Packit dd8086
  FIXME: there's gotta be a better design for this and get_track_format?
Packit dd8086
*/
Packit dd8086
bool getGreen() 
Packit dd8086
{
Packit dd8086
  return cdio_get_track_green(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086
/*!  
Packit dd8086
  Return the ending LSN. CDIO_INVALID_LSN is returned on error.
Packit dd8086
*/
Packit dd8086
lsn_t getLastLsn() 
Packit dd8086
{
Packit dd8086
  return cdio_get_track_last_lsn(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086
/*!  
Packit dd8086
  Get the starting LBA. 
Packit dd8086
Packit dd8086
  @return the starting LBA or CDIO_INVALID_LBA on error.
Packit dd8086
*/
Packit dd8086
lba_t getLba() 
Packit dd8086
{
Packit dd8086
  return cdio_get_track_lba(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086
/*!  
Packit dd8086
  @return the starting LSN or CDIO_INVALID_LSN on error.
Packit dd8086
*/
Packit dd8086
lsn_t getLsn()
Packit dd8086
{
Packit dd8086
  return cdio_get_track_lsn(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086
Packit dd8086
/*!  
Packit dd8086
  Return the starting MSF (minutes/secs/frames) for track number
Packit dd8086
  i_track in p_cdio. 
Packit dd8086
Packit dd8086
  @return true if things worked or false if there is no track entry.
Packit dd8086
*/
Packit dd8086
bool getMsf(/*out*/ msf_t &msf)
Packit dd8086
{
Packit dd8086
  return cdio_get_track_msf(p_cdio, i_track,/*out*/ &msf;;
Packit dd8086
}
Packit dd8086
Packit dd8086
/*!  
Packit dd8086
  Return the track number of the track object.
Packit dd8086
*/
Packit dd8086
track_t getTrackNum()
Packit dd8086
{
Packit dd8086
  return i_track;
Packit dd8086
}
Packit dd8086
Packit dd8086
/*! Get linear preemphasis status on an audio track 
Packit dd8086
  This is not meaningful if not an audio track?
Packit dd8086
*/
Packit dd8086
track_flag_t getPreemphasis()
Packit dd8086
{
Packit dd8086
  return cdio_get_track_preemphasis(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086
/*!  
Packit dd8086
  Get the number of sectors between this track an the next.  This
Packit dd8086
  includes any pregap sectors before the start of the next track.
Packit dd8086
  
Packit dd8086
  @return the number of sectors or 0 if there is an error.
Packit dd8086
*/
Packit dd8086
unsigned int getSecCount() 
Packit dd8086
{
Packit dd8086
  return cdio_get_track_sec_count(p_cdio, i_track);
Packit dd8086
}
Packit dd8086
Packit dd8086