text: /**********************************************************************
  
    Sneedacity: A Digital Audio Editor
  
    SoundActivatedRecord.cpp
  
    Martyn Shaw
  
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
  
  ********************************************************************//**
  
  \class SoundActivatedRecordDialog
  \brief Configures sound activated recording.
  
  *//********************************************************************/
  
  
  #include "SoundActivatedRecord.h"
  
  #include "ShuttleGui.h"
  #include "Prefs.h"
  #include "prefs/GUISettings.h"
  
  BEGIN_EVENT_TABLE(SoundActivatedRecordDialog, wxDialogWrapper)
     EVT_BUTTON(wxID_OK, SoundActivatedRecordDialog::OnOK)
  END_EVENT_TABLE()
  
  SoundActivatedRecordDialog::SoundActivatedRecordDialog(wxWindow* parent)
  : wxDialogWrapper(parent, -1, XO("Sound Activated Record"), wxDefaultPosition,
             wxDefaultSize, wxCAPTION )
  //           wxDefaultSize, wxCAPTION | wxTHICK_FRAME)
  {
     SetName();
     ShuttleGui S(this, eIsCreatingFromPrefs);
     PopulateOrExchange(S);
     Fit();
     Center();
  }
  
  SoundActivatedRecordDialog::~SoundActivatedRecordDialog()
  {
  }
  
  void SoundActivatedRecordDialog::PopulateOrExchange(ShuttleGui & S)
  {
     S.SetBorder(5);
  
     S.StartVerticalLay();
     {
        S.StartMultiColumn(2, wxEXPAND);
        S.SetStretchyCol(1);
        S.TieSlider(
           XXO("Activation level (dB):"),
           {wxT("/AudioIO/SilenceLevel"), -50},
           0, -gPrefs->Read(ENV_DB_KEY, ENV_DB_RANGE)
        )->SetMinSize(wxSize(300, wxDefaultCoord));
        S.EndMultiColumn();
     }
     S.EndVerticalLay();
     S.AddStandardButtons();
  }
  
  void SoundActivatedRecordDialog::OnOK(wxCommandEvent & WXUNUSED(event))
  {
     ShuttleGui S( this, eIsSavingToPrefs );
     PopulateOrExchange( S );
  
     gPrefs->Flush();
  
     EndModal(0);
  }
  
  