Ardour  9.0-pre0-822-g12e3bc5c20
StripSilenceDialog Class Reference

Dialog box to set options for the ‘strip silence’ filter. More...

#include <strip_silence_dialog.h>

Inheritance diagram for StripSilenceDialog:
[legend]

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::samplecnt_t minimum_length () const
 
ARDOUR::samplecnt_t fade_length () const
 
void on_response (int response_id)
 
XMLNodeget_state () const
 
void set_state (const XMLNode &)
 
- Public Member Functions inherited from ArdourDialog
 ArdourDialog (const std::string &title, bool modal=false, bool use_separator=false)
 
 ArdourDialog (Gtk::Window &parent, const 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 ()
 
void set_ui_sensitive (bool)
 
void disallow_idle ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual void set_session (ARDOUR::Session *)
 
virtual ARDOUR::Sessionsession () const
 
- Public Member Functions inherited from ProgressReporter
 ProgressReporter ()
 
virtual ~ProgressReporter ()
 
- Public Member Functions inherited from PBD::Progress
 Progress ()
 
virtual ~Progress ()
 
void set_progress (float)
 
void ascend ()
 
void descend (float)
 
bool cancelled () const
 

Private Member Functions

void create_waves ()
 
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 finished (int)
 
void * detection_thread_work ()
 
bool idle_update_progress ()
 GUI-thread progress updates of background silence computation. More...
 

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
 
Gtk::Button * cancel_button
 
Gtk::Button * apply_button
 
std::list< ViewIntervalviews
 
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::Signal< void()> Completed
 emitted when a silence detection has completed More...
 
PBD::ScopedConnection _completed_connection
 
ARDOUR::InterThreadInfo _interthread_info
 
sigc::connection progress_idle_connection
 
int analysis_progress_cur
 
int analysis_progress_max
 
int _threshold_value
 
ARDOUR::samplecnt_t _minimum_length_value
 
ARDOUR::samplecnt_t _fade_length_value
 

Additional Inherited Members

- Protected Member Functions inherited from ArdourDialog
void pop_splash ()
 
void close_self ()
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 
- Protected Member Functions inherited from PBD::Progress
void cancel ()
 
- Protected Attributes inherited from ArdourDialog
bool _sensitive
 
- 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 42 of file strip_silence_dialog.h.

Constructor & Destructor Documentation

◆ StripSilenceDialog()

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

◆ ~StripSilenceDialog()

StripSilenceDialog::~StripSilenceDialog ( )

Member Function Documentation

◆ _detection_thread_work()

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

◆ canvas_allocation()

void StripSilenceDialog::canvas_allocation ( Gtk::Allocation &  )
private

◆ create_waves()

void StripSilenceDialog::create_waves ( )
private

◆ detection_thread_work()

void* StripSilenceDialog::detection_thread_work ( )
private

◆ drop_rects()

void StripSilenceDialog::drop_rects ( )

◆ fade_length()

ARDOUR::samplecnt_t StripSilenceDialog::fade_length ( ) const

◆ finished()

void StripSilenceDialog::finished ( int  )
private

◆ get_state()

XMLNode& StripSilenceDialog::get_state ( ) const

◆ idle_update_progress()

bool StripSilenceDialog::idle_update_progress ( )
private

GUI-thread progress updates of background silence computation.

◆ minimum_length()

ARDOUR::samplecnt_t StripSilenceDialog::minimum_length ( ) const

◆ on_response()

void StripSilenceDialog::on_response ( int  response_id)
inlinevirtual

Reimplemented from ArdourDialog.

Definition at line 59 of file strip_silence_dialog.h.

◆ resize_silence_rects()

void StripSilenceDialog::resize_silence_rects ( )
private

◆ restart_thread()

void StripSilenceDialog::restart_thread ( )
private

◆ set_state()

void StripSilenceDialog::set_state ( const XMLNode )

◆ silences()

void StripSilenceDialog::silences ( ARDOUR::AudioIntervalMap )

◆ threshold()

double StripSilenceDialog::threshold ( ) const
inline

Definition at line 48 of file strip_silence_dialog.h.

◆ threshold_changed()

void StripSilenceDialog::threshold_changed ( )
private

◆ update()

void StripSilenceDialog::update ( )
private

◆ update_progress_gui()

void StripSilenceDialog::update_progress_gui ( float  p)
privatevirtual

Update our GUI to reflect progress.

Parameters
pProgress, from 0 to 1.

Implements ProgressReporter.

◆ update_silence_rects()

void StripSilenceDialog::update_silence_rects ( )
private

◆ update_stats()

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

◆ update_threshold_line()

void StripSilenceDialog::update_threshold_line ( )
private

Member Data Documentation

◆ _completed_connection

PBD::ScopedConnection StripSilenceDialog::_completed_connection
private

Definition at line 105 of file strip_silence_dialog.h.

◆ _destroying

bool StripSilenceDialog::_destroying
private

Definition at line 96 of file strip_silence_dialog.h.

◆ _fade_length

AudioClock* StripSilenceDialog::_fade_length
private

Definition at line 81 of file strip_silence_dialog.h.

◆ _fade_length_value

ARDOUR::samplecnt_t StripSilenceDialog::_fade_length_value
private

Definition at line 115 of file strip_silence_dialog.h.

◆ _interthread_info

ARDOUR::InterThreadInfo StripSilenceDialog::_interthread_info
private

Definition at line 106 of file strip_silence_dialog.h.

◆ _lock

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

lock held while the thread is doing work

Definition at line 101 of file strip_silence_dialog.h.

◆ _minimum_length

AudioClock* StripSilenceDialog::_minimum_length
private

Definition at line 80 of file strip_silence_dialog.h.

◆ _minimum_length_value

ARDOUR::samplecnt_t StripSilenceDialog::_minimum_length_value
private

Definition at line 114 of file strip_silence_dialog.h.

◆ _progress_bar

Gtk::ProgressBar StripSilenceDialog::_progress_bar
private

Definition at line 82 of file strip_silence_dialog.h.

◆ _run_cond

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

condition to wake the thread

Definition at line 102 of file strip_silence_dialog.h.

◆ _thread

pthread_t StripSilenceDialog::_thread
private

thread to compute silence in the background

Definition at line 98 of file strip_silence_dialog.h.

◆ _thread_should_finish

bool StripSilenceDialog::_thread_should_finish
private

true if the thread should terminate

Definition at line 103 of file strip_silence_dialog.h.

◆ _threshold

Gtk::SpinButton StripSilenceDialog::_threshold
private

Definition at line 79 of file strip_silence_dialog.h.

◆ _threshold_value

int StripSilenceDialog::_threshold_value
private

Definition at line 113 of file strip_silence_dialog.h.

◆ analysis_progress_cur

int StripSilenceDialog::analysis_progress_cur
private

Definition at line 110 of file strip_silence_dialog.h.

◆ analysis_progress_max

int StripSilenceDialog::analysis_progress_max
private

Definition at line 111 of file strip_silence_dialog.h.

◆ apply_button

Gtk::Button* StripSilenceDialog::apply_button
private

Definition at line 85 of file strip_silence_dialog.h.

◆ cancel_button

Gtk::Button* StripSilenceDialog::cancel_button
private

Definition at line 84 of file strip_silence_dialog.h.

◆ Completed

PBD::Signal<void()> StripSilenceDialog::Completed
private

emitted when a silence detection has completed

Definition at line 104 of file strip_silence_dialog.h.

◆ progress_idle_connection

sigc::connection StripSilenceDialog::progress_idle_connection
private

Definition at line 108 of file strip_silence_dialog.h.

◆ views

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

Definition at line 94 of file strip_silence_dialog.h.


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