ardour
Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
StripSilenceDialog Class Reference

Dialog box to set options for the `strip silence' filter. More...

#include <strip_silence_dialog.h>

Inheritance diagram for StripSilenceDialog:
ArdourDialog ProgressReporter ARDOUR::SessionHandlePtr ARDOUR::Progress

Classes

struct  ViewInterval
 

Public Member Functions

 StripSilenceDialog (ARDOUR::Session *, std::list< RegionView * > const &)
 
 ~StripSilenceDialog ()
 
double threshold () const
 
void drop_rects ()
 
void silences (ARDOUR::AudioIntervalMap &)
 
ARDOUR::framecnt_t minimum_length () const
 
ARDOUR::framecnt_t fade_length () const
 
- Public Member Functions inherited from ArdourDialog
 ArdourDialog (std::string title, bool modal=false, bool use_separator=false)
 
 ArdourDialog (Gtk::Window &parent, std::string title, bool modal=false, bool use_separator=false)
 
 ~ArdourDialog ()
 
bool on_focus_in_event (GdkEventFocus *)
 
bool on_focus_out_event (GdkEventFocus *)
 
bool on_delete_event (GdkEventAny *)
 
void on_unmap ()
 
void on_show ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual void set_session (ARDOUR::Session *)
 
- Public Member Functions inherited from ProgressReporter
 ProgressReporter ()
 
virtual ~ProgressReporter ()
 
- Public Member Functions inherited from ARDOUR::Progress
 Progress ()
 
virtual ~Progress ()
 
void set_progress (float)
 
void ascend ()
 
void descend (float)
 
bool cancelled () const
 

Private Member Functions

void create_waves ()
 
void peaks_ready ()
 
void canvas_allocation (Gtk::Allocation &)
 
void update_silence_rects ()
 
void resize_silence_rects ()
 
void update ()
 
void update_threshold_line ()
 
void update_stats (ARDOUR::AudioIntervalResult const &)
 
void threshold_changed ()
 
void update_progress_gui (float)
 
void restart_thread ()
 
void * detection_thread_work ()
 

Static Private Member Functions

static void * _detection_thread_work (void *)
 

Private Attributes

Gtk::SpinButton _threshold
 
AudioClock_minimum_length
 
AudioClock_fade_length
 
Gtk::ProgressBar _progress_bar
 
std::list< ViewIntervalviews
 
PBD::ScopedConnection_peaks_ready_connection
 
bool _destroying
 
pthread_t _thread
 thread to compute silence in the background More...
 
Glib::Threads::Mutex _lock
 lock held while the thread is doing work More...
 
Glib::Threads::Cond _run_cond
 condition to wake the thread More...
 
bool _thread_should_finish
 true if the thread should terminate More...
 
PBD::Signal0< void > Completed
 emitted when a silence detection has completed More...
 
PBD::ScopedConnection _completed_connection
 
ARDOUR::InterThreadInfo _interthread_info
 

Additional Inherited Members

- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 
- Protected Member Functions inherited from ARDOUR::Progress
void cancel ()
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 

Detailed Description

Dialog box to set options for the `strip silence' filter.

Definition at line 35 of file strip_silence_dialog.h.

Constructor & Destructor Documentation

StripSilenceDialog::StripSilenceDialog ( ARDOUR::Session s,
std::list< RegionView * > const &  v 
)

Construct Strip silence dialog box

Definition at line 43 of file strip_silence_dialog.cc.

StripSilenceDialog::~StripSilenceDialog ( )

Definition at line 116 of file strip_silence_dialog.cc.

Member Function Documentation

void * StripSilenceDialog::_detection_thread_work ( void *  arg)
staticprivate

Definition at line 195 of file strip_silence_dialog.cc.

void StripSilenceDialog::canvas_allocation ( Gtk::Allocation &  )
private
void StripSilenceDialog::create_waves ( )
private
void * StripSilenceDialog::detection_thread_work ( )
private

Body of our silence detection thread

Definition at line 203 of file strip_silence_dialog.cc.

void StripSilenceDialog::drop_rects ( )

Definition at line 146 of file strip_silence_dialog.cc.

framecnt_t StripSilenceDialog::fade_length ( ) const

Definition at line 280 of file strip_silence_dialog.cc.

framecnt_t StripSilenceDialog::minimum_length ( ) const

Definition at line 274 of file strip_silence_dialog.cc.

void StripSilenceDialog::peaks_ready ( )
private
void StripSilenceDialog::resize_silence_rects ( )
private
void StripSilenceDialog::restart_thread ( )
private

Definition at line 242 of file strip_silence_dialog.cc.

void StripSilenceDialog::silences ( ARDOUR::AudioIntervalMap m)

Definition at line 137 of file strip_silence_dialog.cc.

double StripSilenceDialog::threshold ( ) const
inline

Definition at line 41 of file strip_silence_dialog.h.

void StripSilenceDialog::threshold_changed ( )
private

Definition at line 267 of file strip_silence_dialog.cc.

void StripSilenceDialog::update ( )
private

Definition at line 176 of file strip_silence_dialog.cc.

void StripSilenceDialog::update_progress_gui ( float  p)
privatevirtual

Update our GUI to reflect progress.

Parameters
pProgress, from 0 to 1.

Implements ProgressReporter.

Definition at line 286 of file strip_silence_dialog.cc.

void StripSilenceDialog::update_silence_rects ( )
private

Definition at line 183 of file strip_silence_dialog.cc.

void StripSilenceDialog::update_stats ( ARDOUR::AudioIntervalResult const &  )
private
void StripSilenceDialog::update_threshold_line ( )
private

Definition at line 154 of file strip_silence_dialog.cc.

Member Data Documentation

PBD::ScopedConnection StripSilenceDialog::_completed_connection
private

Definition at line 90 of file strip_silence_dialog.h.

bool StripSilenceDialog::_destroying
private

Definition at line 81 of file strip_silence_dialog.h.

AudioClock* StripSilenceDialog::_fade_length
private

Definition at line 67 of file strip_silence_dialog.h.

ARDOUR::InterThreadInfo StripSilenceDialog::_interthread_info
private

Definition at line 91 of file strip_silence_dialog.h.

Glib::Threads::Mutex StripSilenceDialog::_lock
private

lock held while the thread is doing work

Definition at line 86 of file strip_silence_dialog.h.

AudioClock* StripSilenceDialog::_minimum_length
private

Definition at line 66 of file strip_silence_dialog.h.

PBD::ScopedConnection* StripSilenceDialog::_peaks_ready_connection
private

Definition at line 79 of file strip_silence_dialog.h.

Gtk::ProgressBar StripSilenceDialog::_progress_bar
private

Definition at line 68 of file strip_silence_dialog.h.

Glib::Threads::Cond StripSilenceDialog::_run_cond
private

condition to wake the thread

Definition at line 87 of file strip_silence_dialog.h.

pthread_t StripSilenceDialog::_thread
private

thread to compute silence in the background

Definition at line 83 of file strip_silence_dialog.h.

bool StripSilenceDialog::_thread_should_finish
private

true if the thread should terminate

Definition at line 88 of file strip_silence_dialog.h.

Gtk::SpinButton StripSilenceDialog::_threshold
private

Definition at line 65 of file strip_silence_dialog.h.

PBD::Signal0<void> StripSilenceDialog::Completed
private

emitted when a silence detection has completed

Definition at line 89 of file strip_silence_dialog.h.

std::list<ViewInterval> StripSilenceDialog::views
private

Definition at line 77 of file strip_silence_dialog.h.


The documentation for this class was generated from the following files: