#ifndef TallyInfoEdit_INCLUDED #define TallyInfoEdit_INCLUDED #include #ifdef WIN32 #ifdef DOEXPORT_SCRIPT #define EXPORT_SCRIPT __declspec(dllexport) #else #define EXPORT_SCRIPT #endif #else #define EXPORT_SCRIPT #endif class TallyInfoEdit : public bncs_script_helper { public: TallyInfoEdit( bncs_client_callback * parent, const char* path ); virtual ~TallyInfoEdit(); void buttonCallback( buttonNotify *b ); int revertiveCallback( revertiveNotify * r ); void databaseCallback( revertiveNotify * r ); bncs_string parentCallback( parentNotify *p ); void timerCallback( int ); private: #define SRCBLOCKSIZE 32 #define SDI_MTX_SIZE 128 #define AUDIO_MTX_SIZE 64 int cta_sdi_id; // Holds the BNCS driver ID for the CTA SDI router int cta_audio_id; // Holds the BNCS driver ID for the CTA/Studio A audio router int tally_info_id; // Holds the BNCS driver ID for the Studio A/CTA Tally Infodriver int currentPanel; // The identity of the current action panel. Used by the Menu Selection system. int dest_block; // Holds the block number of the current set of matrix destination buttons. int dest_offset; // Holds the base offset for the current destination name set. Selected destination ID is dest_offset+dest_index int dest_index; // Holds the offset of a selected destination button in the array of 32 buttons int mtx_index; // The matrix destination number that provides a source int mixer_input; // The index of the selected mixer input. Range 1 to 36 int mix_in_timeout; // Used by the ACCEPT button timeout processing int StA_UMD_Index; // Holds the matrix destination index for the selected destination int StA_UMD_Addr; // Holds the UMD address for the destination int StAPad; // Holds the number the user has entered on the keypad of UMD address editor int CTA_VUMD_Index; // Holds the matrix destination index for the selected destination int CTA_VUMD_Addr; // Holds the UMD address for the destination int CtAVPad; // Holds the number the user has entered on the keypad of UMD address editor int CTA_AUMD_Index; // Holds the matrix destination index for the selected destination int CTA_AUMD_Addr; // Holds the UMD address for the destination int CtAAPad; // Holds the number the user has entered on the keypad of UMD address editor int Tally_Index; // Holds the index of the Tally listbox selection. int Source_Index; // Holds the index of the Primary Source listbox selection. int sta_umd_addresses[SDI_MTX_SIZE + 1]; // Holds the list of Studio A UMD adresses read from Tally Infodriver int cta_Vumd_addresses[SDI_MTX_SIZE + 1]; // Holds the list of CTA video destination UMD adressess read from Tally Infodriver int cta_Aumd_addresses[AUDIO_MTX_SIZE]; // Holds the list of CTA audio destination UMD addresses read from Tally Infodriver int primary_tally[SDI_MTX_SIZE + 1]; // Holds the list of primary sources to tally read from Tally Infodriver. bool dest_selected; // A flag to show that the user has selected a destination bool dest_deselect; // Set true when when the matrix destination disconnect button is pressed bool mix_in_selected; // Set true when there is a mixer input selected. bool accept_active; // Set true when the ASSIGN button of the Mixer Input panel is active bncs_string list_return; // Used in processing responses from button pushes bncs_string dest_name; bncs_string m_myParam; bncs_string m_instance; // Local functions void showMyPanel(int newpanel); // Changes the main panel on display to the number provided asa parameter void showSources(int block); // Puts the names into the source buttons for block number provided as a parameter. void loadSDI_Dest(void); // Puts the destination names into the listbox on the Studio A UMD void loadCTASDI_Dest(void); // Puts the destination names into the listbox on the CTA Video UMD void loadCTAAudio_Dest(void); // Puts the audio destination names into the listbox on the CTA Audio UMD void loadPrimaryTallyData(void); // Puts the lists of SDI sources into the listboxes of the allocation panel void processMenuButton(buttonNotify *b); void processMixerInButton(buttonNotify *b); void process_StA_UMD_button(buttonNotify *b); void process_CTA_VidUMD_button(buttonNotify *b); void process_CTA_AudUMD_button(buttonNotify *b); void process_TallySet(buttonNotify *b); void doMixerInCancel(void); void checkAccept(void); // Enables the ACCEPT button if there is a source and destination selected. Initiates timeout process }; #endif // TallyInfoEdit_INCLUDED