FreeburnTrackDialog.h
上传用户:cnxinhai
上传日期:2013-08-06
资源大小:265k
文件大小:5k
源码类别:

DVD

开发平台:

Visual C++

  1. /* This is the class description for the Track Editor Dialog.
  2.  *
  3.  * Copyright (C) 2001, 2002  Adam Schlag
  4.  */
  5. /*
  6.  * FreeBurn Software License
  7.  * (based on the Apache Software License)
  8.  * 
  9.  * Version 1.1
  10.  * 
  11.  * Copyright (c) 2001, 2002 The FreeBurn Project. All rights reserved.
  12.  * 
  13.  * Redistribution and use in source and binary forms, with or without 
  14.  * modification, are permitted provided that the following conditions are met:
  15.  * 
  16.  * 1. Redistributions of source code must retain the above copyright 
  17.  * notice, this list of conditions and the following disclaimer.
  18.  * 
  19.  * 2. Redistributions in binary form must reproduce the above copyright 
  20.  * notice, this list of conditions and the following disclaimer in the 
  21.  * documentation and/or other materials provided with the distribution.
  22.  * 
  23.  * 3. The end-user documentation included with the redistribution, if any, must 
  24.  * include the following acknowledgment:
  25.  * 
  26.  *  "This product includes software developed by the FreeBurn 
  27.  *     Project (http://freeburn.sourceforge.net/)."
  28.  * 
  29.  * Alternately, this acknowledgment may appear in the software itself, 
  30.  * if and wherever such third-party acknowledgments normally appear.
  31.  * 
  32.  * 4. The names "FreeBurn" and "FreeBurn Project" must not be 
  33.  * used to endorse or promote products derived from this software 
  34.  * without prior written permission. For written permission, please 
  35.  * contact aschlag@users.sourceforge.net.
  36.  * 
  37.  * 5. Products derived from this software may not be called "FreeBurn", 
  38.  * nor may "FreeBurn" appear in their name, without prior written 
  39.  * permission of the FreeBurn Project.
  40.  * 
  41.  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 
  42.  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
  43.  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
  44.  * DISCLAIMED. IN NO EVENT SHALL THE FREEBURN PROJECT OR ITS 
  45.  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
  46.  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
  47.  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
  48.  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
  49.  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
  50.  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
  51.  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
  52.  * SUCH DAMAGE.
  53.  * 
  54.  * This software consists of voluntary contributions made by many 
  55.  * individuals on behalf of the FreeBurn Project. For more 
  56.  * information on the FreeBurn Project and FreeBurn, please see 
  57.  * <http://freeburn.sourceforge.net/>.
  58.  * 
  59.  * This software is distributed with software that is released under the GNU 
  60.  * General Public License (GPL).  You can find the terms of this license in the
  61.  * file GPL.txt distributed in this package.  You can find information on the
  62.  * software distributed with this package in the file PROGRAMS.txt.
  63.  */
  64. class CFreeburnTrackDialog : public FXDialogBox 
  65. {
  66.     FXDECLARE(CFreeburnTrackDialog)
  67.   
  68. public:
  69.     // constructor 
  70.     CFreeburnTrackDialog(FXWindow* owner, CFreeburnDisc* mainDisc);
  71.     
  72.     virtual ~CFreeburnTrackDialog();
  73.     
  74.     // methods for handling messages to the dialog
  75.     long onCmdEditTrackText (FXObject*, FXSelector, void*);
  76.     
  77.     // enum for the dialog messages
  78.     enum{
  79.         ID_EDIT_TRACK_TEXT = FXDialogBox::ID_LAST,
  80.         ID_LAST
  81.     };
  82.     
  83.     // enums for the different track types
  84.     enum{
  85.         AUDIO_TRACK = 0
  86.     };
  87.     
  88.     enum{
  89.         MODE1_AUDIO_TRACK = 0,
  90.         MODE1_DATA_TRACK,
  91.         MODE1_RAW
  92.     };
  93.     
  94.     enum{
  95.         MODE2_AUDIO = 0,
  96.         MODE2_DATA_TRACK,
  97.         MODE2_AUDIO_TRACK,
  98.         MODE2_RAW
  99.     };
  100.     
  101.     
  102. protected:    
  103.   
  104. private:
  105.     CFreeburnTrackDialog(){}
  106.     CFreeburnTrackDialog(const CFreeburnTrackDialog&);
  107.     
  108.     // CFreeburnDisc pointer to get and modify track data
  109.     CFreeburnDisc* m_disc;
  110.     
  111.     // int and data target for the track type
  112.     FXint m_trackMode;
  113.     FXDataTarget m_trackModeTarget;
  114.     
  115.     // bool and data target for the copy mode
  116.     FXbool m_copyMode;
  117.     FXDataTarget m_copyModeTarget;
  118.     
  119.     // bool and data target for the pre-emphasis mode
  120.     FXbool m_preEmphMode;
  121.     FXDataTarget m_preEmphModeTarget;
  122.     
  123.     // bools and data targets for the 2 and 4 track audio modes
  124.     FXbool m_twoTrackMode;
  125.     FXbool m_fourTrackMode;
  126.     FXDataTarget m_twoTrackModeTarget;
  127.     FXDataTarget m_fourTrackModeTarget;
  128.     
  129.     // text fields for the ISRC
  130.     FXTextField* m_isrcCountry;
  131.     FXTextField* m_isrcOwner;
  132.     FXTextField* m_isrcYear;
  133.     FXTextField* m_isrcSerial;
  134.     
  135.     // popup for setting the track mode
  136.     FXPopup* m_trackModePopup;
  137.     
  138.     // popup for the track data type
  139.     FXPopup* m_trackDataTypePopup;
  140. };