InstrumentEffectsDialog
index
/home/david/Projects/Jokosher/trunk/Jokosher/InstrumentEffectsDialog.py

#       THIS FILE IS PART OF THE JOKOSHER PROJECT AND LICENSED UNDER THE GPL. SEE
#       THE 'COPYING' FILE FOR DETAILS
#
#       InstrumentEffectsDialog.py
#       
#       This module us used to present the dialog for adding and managing instrument
#       effects. Note that this module deals with the main effects dialog *and* the
#       effect settings dialog, which we're both handed to Mr. Bacon in a spec by the
#       Gods of Metal. They came to him in a dream to warn against a bleak future where
#       massively distorted music could not be made using linux.
#
#-------------------------------------------------------------------------------

 
Modules
       
EffectPresets
Globals
cairo
gettext
gobject
gst
gtk
os
pygst

 
Classes
       
InstrumentEffectsDialog
gobject.DrawingArea(gobject.Widget)
CairoDialogHeaderImage

 
class CairoDialogHeaderImage(gobject.DrawingArea)
    Renders a banner for the top of the effects dialog using Cairo.
 
 
Method resolution order:
CairoDialogHeaderImage
gobject.DrawingArea
gobject.Widget
gobject.Object
gobject.GObject
atk.ImplementorIface
gobject.GInterface
__builtin__.object

Methods defined here:
GenerateCachedImage(self)
Renders the image so that we don't have to re-render it every
time there is an expose event from a mouse move or something.
OnDraw(self, widget, event)
Handles the GTK expose event.
 
Parameters:
        widget -- reserved for GTK callbacks, don't use it explicitly.
        event -- reserved for GTK callbacks, don't use it explicitly.
        
Returns:
        False -- indicates the GTK signal to:
                        1) continue propagating the regular signal.
                        2) stop calling the callback on a timeout_add.
OnSizeChanged(self, obj, evt)
Called when the widget's size changes.
 
Parameters:
        obj -- reserved for Cairo callbacks, don't use it explicitly. *CHECK*
        evt -- reserved for Cairo callbacks, don't use it explicitly. *CHECK*
__init__(self, headerText)
Creates a new instance of CairoDialogHeaderImage.
 
Parameters:
        headerText -- text to be displayed at the header.

Methods inherited from gobject.DrawingArea:
size(...)

Data and other attributes inherited from gobject.DrawingArea:
__gtype__ = <GType GtkDrawingArea (135890848)>

Methods inherited from gobject.Widget:
activate(...)
add_accelerator(...)
add_events(...)
add_mnemonic_label(...)
can_activate_accel(...)
child_focus(...)
child_notify(...)
class_path(...)
create_pango_context(...)
create_pango_layout(...)
destroy(...)
drag_begin(...)
drag_check_threshold(...)
drag_dest_add_image_targets(...)
drag_dest_add_text_targets(...)
drag_dest_add_uri_targets(...)
drag_dest_find_target(...)
drag_dest_get_target_list(...)
drag_dest_get_track_motion(...)
drag_dest_set(...)
drag_dest_set_proxy(...)
drag_dest_set_target_list(...)
drag_dest_set_track_motion(...)
drag_dest_unset(...)
drag_get_data(...)
drag_highlight(...)
drag_source_add_image_targets(...)
drag_source_add_text_targets(...)
drag_source_add_uri_targets(...)
drag_source_get_target_list(...)
drag_source_set(...)
drag_source_set_icon(...)
drag_source_set_icon_name(...)
drag_source_set_icon_pixbuf(...)
drag_source_set_icon_stock(...)
drag_source_set_target_list(...)
drag_source_unset(...)
drag_unhighlight(...)
draw(...)
ensure_style(...)
event(...)
freeze_child_notify(...)
get_accessible(...)
get_action(...)
get_allocation(...)
get_ancestor(...)
get_child_requisition(...)
get_child_visible(...)
get_clipboard(...)
get_colormap(...)
get_composite_name(...)
get_direction(...)
get_display(...)
get_events(...)
get_extension_events(...)
get_modifier_style(...)
get_name(...)
get_no_show_all(...)
get_pango_context(...)
get_parent(...)
get_parent_window(...)
get_pointer(...)
get_root_window(...)
get_screen(...)
get_settings(...)
get_size_request(...)
get_style(...)
get_toplevel(...)
get_visual(...)
grab_add(...)
grab_default(...)
grab_focus(...)
grab_remove(...)
has_screen(...)
hide(...)
hide_all(...)
hide_on_delete(...)
input_shape_combine_mask(...)
intersect(...)
is_ancestor(...)
is_composited(...)
is_focus(...)
list_mnemonic_labels(...)
map(...)
menu_get_for_attach_widget(...)
mnemonic_activate(...)
modify_base(...)
modify_bg(...)
modify_fg(...)
modify_font(...)
modify_style(...)
modify_text(...)
path(...)
queue_clear(...)
queue_clear_area(...)
queue_draw(...)
queue_draw_area(...)
queue_resize(...)
queue_resize_no_redraw(...)
rc_get_style(...)
realize(...)
region_intersect(...)
remove_accelerator(...)
remove_mnemonic_label(...)
render_icon(...)
reparent(...)
reset_rc_styles(...)
reset_shapes(...)
selection_add_target(...)
selection_add_targets(...)
selection_clear_targets(...)
selection_convert(...)
selection_owner_set(...)
selection_remove_all(...)
send_expose(...)
set_accel_path(...)
set_app_paintable(...)
set_child_visible(...)
set_colormap(...)
set_composite_name(...)
set_direction(...)
set_double_buffered(...)
set_events(...)
set_extension_events(...)
set_name(...)
set_no_show_all(...)
set_parent(...)
set_parent_window(...)
set_redraw_on_allocate(...)
set_scroll_adjustments(...)
set_sensitive(...)
set_size_request(...)
set_state(...)
set_style(...)
set_uposition(...)
set_usize(...)
shape_combine_mask(...)
show(...)
show_all(...)
show_now(...)
size_allocate(...)
size_request(...)
style_get_property(...)
thaw_child_notify(...)
translate_coordinates(...)
unmap(...)
unparent(...)
unrealize(...)

Data and other attributes inherited from gobject.Widget:
allocation = <attribute 'allocation' of 'gtk.Widget' objects>
do_button_press_event = <built-in method do_button_press_event of GObjectMeta object>
do_button_release_event = <built-in method do_button_release_event of GObjectMeta object>
do_can_activate_accel = <built-in method do_can_activate_accel of GObjectMeta object>
do_client_event = <built-in method do_client_event of GObjectMeta object>
do_composited_changed = <built-in method do_composited_changed of GObjectMeta object>
do_configure_event = <built-in method do_configure_event of GObjectMeta object>
do_delete_event = <built-in method do_delete_event of GObjectMeta object>
do_destroy_event = <built-in method do_destroy_event of GObjectMeta object>
do_direction_changed = <built-in method do_direction_changed of GObjectMeta object>
do_drag_begin = <built-in method do_drag_begin of GObjectMeta object>
do_drag_data_delete = <built-in method do_drag_data_delete of GObjectMeta object>
do_drag_data_get = <built-in method do_drag_data_get of GObjectMeta object>
do_drag_data_received = <built-in method do_drag_data_received of GObjectMeta object>
do_drag_drop = <built-in method do_drag_drop of GObjectMeta object>
do_drag_end = <built-in method do_drag_end of GObjectMeta object>
do_drag_leave = <built-in method do_drag_leave of GObjectMeta object>
do_drag_motion = <built-in method do_drag_motion of GObjectMeta object>
do_enter_notify_event = <built-in method do_enter_notify_event of GObjectMeta object>
do_event = <built-in method do_event of GObjectMeta object>
do_expose_event = <built-in method do_expose_event of GObjectMeta object>
do_focus = <built-in method do_focus of GObjectMeta object>
do_focus_in_event = <built-in method do_focus_in_event of GObjectMeta object>
do_focus_out_event = <built-in method do_focus_out_event of GObjectMeta object>
do_get_accessible = <built-in method do_get_accessible of GObjectMeta object>
do_grab_broken_event = <built-in method do_grab_broken_event of GObjectMeta object>
do_grab_focus = <built-in method do_grab_focus of GObjectMeta object>
do_grab_notify = <built-in method do_grab_notify of GObjectMeta object>
do_hide = <built-in method do_hide of GObjectMeta object>
do_hide_all = <built-in method do_hide_all of GObjectMeta object>
do_hierarchy_changed = <built-in method do_hierarchy_changed of GObjectMeta object>
do_key_press_event = <built-in method do_key_press_event of GObjectMeta object>
do_key_release_event = <built-in method do_key_release_event of GObjectMeta object>
do_leave_notify_event = <built-in method do_leave_notify_event of GObjectMeta object>
do_map = <built-in method do_map of GObjectMeta object>
do_map_event = <built-in method do_map_event of GObjectMeta object>
do_mnemonic_activate = <built-in method do_mnemonic_activate of GObjectMeta object>
do_motion_notify_event = <built-in method do_motion_notify_event of GObjectMeta object>
do_no_expose_event = <built-in method do_no_expose_event of GObjectMeta object>
do_parent_set = <built-in method do_parent_set of GObjectMeta object>
do_popup_menu = <built-in method do_popup_menu of GObjectMeta object>
do_property_notify_event = <built-in method do_property_notify_event of GObjectMeta object>
do_proximity_in_event = <built-in method do_proximity_in_event of GObjectMeta object>
do_proximity_out_event = <built-in method do_proximity_out_event of GObjectMeta object>
do_realize = <built-in method do_realize of GObjectMeta object>
do_screen_changed = <built-in method do_screen_changed of GObjectMeta object>
do_scroll_event = <built-in method do_scroll_event of GObjectMeta object>
do_selection_clear_event = <built-in method do_selection_clear_event of GObjectMeta object>
do_selection_get = <built-in method do_selection_get of GObjectMeta object>
do_selection_notify_event = <built-in method do_selection_notify_event of GObjectMeta object>
do_selection_received = <built-in method do_selection_received of GObjectMeta object>
do_selection_request_event = <built-in method do_selection_request_event of GObjectMeta object>
do_show = <built-in method do_show of GObjectMeta object>
do_show_all = <built-in method do_show_all of GObjectMeta object>
do_show_help = <built-in method do_show_help of GObjectMeta object>
do_size_allocate = <built-in method do_size_allocate of GObjectMeta object>
do_size_request = <built-in method do_size_request of GObjectMeta object>
do_state_changed = <built-in method do_state_changed of GObjectMeta object>
do_style_set = <built-in method do_style_set of GObjectMeta object>
do_unmap = <built-in method do_unmap of GObjectMeta object>
do_unmap_event = <built-in method do_unmap_event of GObjectMeta object>
do_unrealize = <built-in method do_unrealize of GObjectMeta object>
do_visibility_notify_event = <built-in method do_visibility_notify_event of GObjectMeta object>
do_window_state_event = <built-in method do_window_state_event of GObjectMeta object>
get_activate_signal = <built-in method get_activate_signal of GObjectMeta object>
name = <attribute 'name' of 'gtk.Widget' objects>
parent = <attribute 'parent' of 'gtk.Widget' objects>
saved_state = <attribute 'saved_state' of 'gtk.Widget' objects>
set_activate_signal = <built-in method set_activate_signal of GObjectMeta object>
set_set_scroll_adjustments_signal = <built-in method set_set_scroll_adjustments_signal of GObjectMeta object>
state = <attribute 'state' of 'gtk.Widget' objects>
style = <attribute 'style' of 'gtk.Widget' objects>
window = <attribute 'window' of 'gtk.Widget' objects>

Methods inherited from gobject.Object:
flags(...)
remove_data(...)
remove_no_notify(...)
set_flags(...)
unset_flags(...)

Data and other attributes inherited from gobject.Object:
do_destroy = <built-in method do_destroy of GObjectMeta object>

Methods inherited from gobject.GObject:
__cmp__(...)
x.__cmp__(y) <==> cmp(x,y)
__gobject_init__(...)
__hash__(...)
x.__hash__() <==> hash(x)
__repr__(...)
x.__repr__() <==> repr(x)
chain(...)
connect(...)
connect_after(...)
connect_object(...)
connect_object_after(...)
disconnect(...)
disconnect_by_func(...)
emit(...)
emit_stop_by_name(...)
freeze_notify(...)
get_data(...)
get_property(...)
handler_block(...)
handler_block_by_func(...)
handler_disconnect(...)
handler_is_connected(...)
handler_unblock(...)
handler_unblock_by_func(...)
notify(...)
set_data(...)
set_property(...)
stop_emission(...)
thaw_notify(...)

Data and other attributes inherited from gobject.GObject:
__dict__ = <dictproxy object>
__gdoc__ = 'Object GtkDrawingArea\n\n\n\tRenders a banner for th...ointer\n\nSignals from GObject:\n notify (GParam)\n\n'
__grefcount__ = <attribute '__grefcount__' of 'gobject.GObject' objects>
__new__ = <built-in method __new__ of GObjectMeta object>
T.__new__(S, ...) -> a new object with type S, a subtype of T
props = <gobject.GProps object>

Methods inherited from atk.ImplementorIface:
ref_accessible(...)

 
class InstrumentEffectsDialog
    This class displays and implements the instrument effects dialog
box, which can be used to add, remove, and edit effects for an
instrument.
 
  Methods defined here:
BringWindowToFront(self)
Puts the InstrumentsEffectDialog on top of other windows.
OnAddEffect(self, widget)
Get the name of the currently selected effect
and add it to the instrument.
 
Parameters:
        widget -- reserved for GTK callbacks, don't use it explicitly.
OnCancel(self, button)
If the Cancel button is pressed, the dialog is destroyed.
 
Parameters:
        button -- reserved for GTK callbacks, don't use it explicitly.
OnChainPresetChanged(self, combo)
Loads a preset when it's selected from the chain preset combo.
 
Parameters:
        combo -- reserved for GTK callbacks, don't use it explicitly.
OnEffectPresetChanged(self, combo)
Loads a preset when it's selected from the single effect preset combo.
 
Parameters:
        combo -- reserved for GTK callbacks, don't use it explicitly.
OnEffectSetting(self, button, effect)
Show a dialog filled with settings sliders for a specific effect
 
Parameters:
        button -- reserved for GTK callbacks, don't use it explicitly.
        effect -- effect to be configured.
OnEffectSettingCancel(self, button)
Close the effect settings window, after a user cancelation.
 
Parameters:
        button -- reserved for GTK callbacks, don't use it explicitly.
OnEffectSettingOK(self, button)
Close the effect settings window.
 
Parameters:
        button -- reserved for GTK callbacks, don't use it explicitly.
OnEntrySelected(self, completion, model, modelIter)
Callback for the selection made in the entry completion for effects combo.
 
Parameters:
        completion -- TODO
        model -- TODO
        modelIter -- TODO
OnOK(self, button)
If the OK button is pressed on the dialog box, the window is destroyed.
 
Parameters:
        button -- reserved for GTK callbacks, don't use it explicitly.
OnRemoveEffect(self, widget, effect)
Remove an effect from the instrument.
 
Parameters:
        widget -- reserved for GTK callbacks, don't use it explicitly.
        effect -- effect instance to be removed from the instrument.
OnSaveEffectChainPreset(self, widget)
Grab the effects chain and send it to the presets code to be saved.
 
Parameters:
        widget -- reserved for GTK callbacks, don't use it explicitly.
OnSaveSingleEffectPreset(self, widget)
Grab the effect properties and send it to the presets code
to be saved.
 
Parameters:
        widget -- reserved for GTK callbacks, don't use it explicitly.
OnSelectEffect(self, combo)
Callback for when an effect is selected from the effects list.
 
Parameters:
        combo -- reserved for GTK callbacks, don't use it explicitly.
OnSettingEntryChanged(self, widget)
TODO -- This method is not yet implemented.
OnStateChanged(self, obj, change=None, *extra)
Called when a change of state is signalled by any of the
objects this view is 'listening' to.
 
Parameters:
        obj -- object changing state. *CHECK*
        change -- the change which has occured.
        extra -- extra parameters passed by the caller.
OnTransport(self, button)
Pressing the Play/Stop button on the dialog box allows the user
to play back the project to test if the effect settings are
right for them. When user press the Play button, it switches to
a stop button, and vice versa.
 
Parameters:
        button -- reserved for GTK callbacks, don't use it explicitly.
SetEffectSetting(self, slider, name, property)
Set the value of a gstreamer property from an effects slider.
 
Parameters:
        slider -- slider control which indicates the value to assign to property.
        name -- name of the property being set.
        property -- property being set.
Update(self)
Refreshes the EffectWidgets inside the InstrumentEffectsDialog
when they're added or removed.
__init__(self, instrument, destroyCallback)
This constructor enables a lot of variables, reads in the glade
file for the main dialog, and populates the effects and presets
combo boxes.
 
Parameters:
        instrument -- instrument whose effects are being modified.
        destroyCallback -- GTK callback. Called when this dialog gets destroyed.
matchEffect(self, completion, entrystr, iter)
Callback for matching an effect on the effect entry box.
 
Parameters:
        completion -- TODO
        entrystr -- string to be matched against the effects list.
        iter -- number of the current iteration through the complete effects list.
        
Returns:
        True -- the effect contains the entrystr string.
        False -- the effect doesn't contain the entrystr stirng.