diff --git a/wave_viewer.m b/wave_viewer.m index d48970f..a3a37e1 100644 --- a/wave_viewer.m +++ b/wave_viewer.m @@ -136,7 +136,7 @@ % create panel for buttons buttonPanelXPos = panelPad; buttonPanelYPos = panelPad; -buttonPanelXSpan = 0.1; +buttonPanelXSpan = 0.14; buttonPanelYSpan = 1 - panelPad*2; buttonPanelPos = [buttonPanelXPos buttonPanelYPos buttonPanelXSpan buttonPanelYSpan]; p.guidata.buttonPanel = uipanel(p.guidata.f,'Units','Normalized',... @@ -146,9 +146,9 @@ 'BorderType','none'); % create panel for frequency-based axes -faxesPanelXPos = buttonPanelXPos + buttonPanelXSpan + panelPad*.75; +faxesPanelXPos = buttonPanelXPos + buttonPanelXSpan; faxesPanelYPos = panelPad*2; % extra pad on bottom -faxesPanelXSpan = 1 - faxesPanelXPos - panelPad; +faxesPanelXSpan = 1 - faxesPanelXPos - panelPad; % reference for right panels faxesPanelYSpan = 0.2; faxesPanelPos = [faxesPanelXPos faxesPanelYPos faxesPanelXSpan faxesPanelYSpan]; p.guidata.faxesPanel = uipanel(p.guidata.f,'Units','Normalized',... @@ -212,15 +212,17 @@ buttonWidth = .9; buttonHeight = .05; -buttonFontSize = .4; +buttonFontSize = .45; sliderHeight = .025; dropdownHeight = .03; dropdownFontSize = .5; editHeight = .025; -editFontSize = .6; +editFontSize = 1; textHeight = buttonHeight; textFontSize = buttonFontSize; +labelFontSize = textFontSize * 1.3; textPosYOffset = 0.0240; +labelPosYOffset = 0.5; tinyHeight = textHeight*.75; tinyPosYOffset = textPosYOffset*.75; @@ -259,7 +261,7 @@ function my_help_func(hObject,eventdata) % callback for help button hbutton.pitch_params = uicontrol(p.guidata.buttonPanel,'Style','pushbutton',... 'String','pitch params',... 'Units','Normalized','Position',pitchParamButtonPos,... - 'FontUnits','Normalized','FontSize',buttonFontSize*0.75,... + 'FontUnits','Normalized','FontSize',buttonFontSize*0.9,... 'Callback',@edit_pitch_params); % TODO make text in 2 rows horiz_orig = horiz_orig + buttonHeight + padYButton; @@ -330,11 +332,12 @@ function endprogram(hObject,eventdata) % callback for h_button_endprogram end % previous button -prevButtonPos = [padL horiz_orig buttonWidth/3 buttonHeight]; +prevButtonPos = [padL horiz_orig buttonWidth/2 buttonHeight]; hbutton.cont = uicontrol(p.guidata.buttonPanel,'Style','pushbutton',... 'String','previous',... 'Units','Normalized','Position',prevButtonPos,... - 'FontUnits','Normalized','FontSize',buttonFontSize*2/3,... + 'FontUnits','Normalized','FontSize',buttonFontSize,... + 'FontWeight','bold', ... 'Callback',@prevprogram); % no change in horiz_orig, since "previous" button is in-line with "continue" button function prevprogram(hObject,eventdata) % callback for h_button_contprogram @@ -345,11 +348,12 @@ function prevprogram(hObject,eventdata) % callback for h_button_contprogram end % continue button -contButtonPos = [padL+buttonWidth*1/3 horiz_orig buttonWidth*2/3 buttonHeight]; +contButtonPos = [padL+buttonWidth*1/2 horiz_orig buttonWidth/2 buttonHeight]; hbutton.cont = uicontrol(p.guidata.buttonPanel,'Style','pushbutton',... 'String','continue',... 'Units','Normalized','Position',contButtonPos,... 'FontUnits','Normalized','FontSize',buttonFontSize,... + 'FontWeight','bold', ... 'Callback',@contprogram); horiz_orig = horiz_orig + buttonHeight + padYButton; function contprogram(hObject,eventdata) % callback for h_button_contprogram @@ -375,9 +379,9 @@ function contprogram(hObject,eventdata) % callback for h_button_contprogram % edit events button editEventsButtonPos = [padL horiz_orig buttonWidth/2 buttonHeight]; hbutton.cont = uicontrol(p.guidata.buttonPanel,'Style','pushbutton',... - 'String','
rename
events
',... + 'String','
rename events
',... 'Units','Normalized','Position',editEventsButtonPos,... - 'FontUnits','Normalized','FontSize',buttonFontSize*0.75,... + 'FontUnits','Normalized','FontSize',buttonFontSize*0.85,... 'Callback',@edit_events); % no change in horiz_orig, since "previous" button is in-line with "continue" button function edit_events(hObject,eventdata) % callback for h_button_edit_events @@ -444,9 +448,9 @@ function edit_events(hObject,eventdata) % callback for h_button_edit_events % clear events button clearEventsButtonPos = [padL+buttonWidth*1/2 horiz_orig buttonWidth*1/2 buttonHeight]; hbutton.clear_events = uicontrol(p.guidata.buttonPanel,'Style','pushbutton',... - 'String','
clear
events
',... + 'String','
clear events
',... 'Units','Normalized','Position',clearEventsButtonPos,... - 'FontUnits','Normalized','FontSize',buttonFontSize*0.75,... + 'FontUnits','Normalized','FontSize',buttonFontSize*0.85,... 'Callback',@clear_events); horiz_orig = horiz_orig + buttonHeight + padYButton; function clear_events(hObject,eventdata) % callback for h_button_clear_events @@ -499,7 +503,7 @@ function update_toggle_display() hedit.preemph = uicontrol(p.guidata.buttonPanel,'Style','edit',... 'String',p.sigproc_params.preemph, ... 'Units','Normalized','Position',preemphEditPos,... - 'FontUnits','Normalized','FontSize',editFontSize,... + 'FontUnits','Normalized','FontSize',editFontSize*0.8,... 'TooltipString','Default of 0 includes Praat preemph', ... 'Callback', @preemph_text); horiz_orig = horiz_orig + editHeight + padYSmall; @@ -597,7 +601,7 @@ function set_max_gray(hObject,eventdata) % callback for h_slider_max_gray horiz_orig = horiz_orig + dropdownHeight + padYSmall; % ms framespec: gram text -horiz_orig = horiz_orig - tinyPosYOffset; +horiz_orig = horiz_orig - tinyPosYOffset; msFramespecGramTextPos = [padL horiz_orig buttonWidth tinyHeight]; htext.ms_framespec_gram = uicontrol(p.guidata.buttonPanel,'Style','text',... 'String','framespec: gram',... @@ -634,7 +638,7 @@ function set_ms_framespec_gram(hObject,eventdata) % callback for hdropdown.ms_fr 'Units','Normalized','Position',msFramespecFormTextPos,... 'FontUnits','Normalized','FontSize',textFontSize); uistack(htext.ms_framespec_form,'bottom'); % move to bottom -horiz_orig = horiz_orig + tinyHeight + padYBig; +horiz_orig = horiz_orig + tinyHeight + padYBig*0.75; last_sigproc_params.ms_framespec_form = p.sigproc_params.ms_framespec_form; function set_ms_framespec_form(hObject,eventdata) % callback for hdropdown.ms_framespec_form p.sigproc_params.ms_framespec_form = all_ms_framespecs.name{get(hdropdown.ms_framespec_form,'Value')}; @@ -648,7 +652,7 @@ function set_ms_framespec_form(hObject,eventdata) % callback for hdropdown.ms_fr end initial_dropdown_value = find(p.sigproc_params.nlpc_choices == p.sigproc_params.nlpc); if isempty(initial_dropdown_value), initial_dropdown_value = 1; end -nlpcDropdownPos = [padL horiz_orig buttonWidth dropdownHeight]; +nlpcDropdownPos = [padL horiz_orig+0.01 buttonWidth dropdownHeight]; hdropdown.nlpc = uicontrol(p.guidata.buttonPanel,'Style','popupmenu',... 'String',nlpc_choice_strs,... 'Value',initial_dropdown_value, ... @@ -659,13 +663,13 @@ function set_ms_framespec_form(hObject,eventdata) % callback for hdropdown.ms_fr % nlpc text horiz_orig = horiz_orig - textPosYOffset; -nlpcTextPos = [padL horiz_orig buttonWidth textHeight]; +nlpcTextPos = [padL horiz_orig+0.01 buttonWidth textHeight]; htext.nlpc = uicontrol(p.guidata.buttonPanel,'Style','text',... 'String','LPC order',... 'Units','Normalized','Position',nlpcTextPos,... 'FontUnits','Normalized','FontSize',textFontSize); uistack(htext.nlpc,'bottom'); % move to bottom -horiz_orig = horiz_orig + textHeight + padYBig; +horiz_orig = horiz_orig + textHeight + padYBig*0.5; last_sigproc_params.nlpc = p.sigproc_params.nlpc; function set_nlpc_choice(hObject,eventdata) % callback for hdropdown.nlpc p.sigproc_params.nlpc = p.sigproc_params.nlpc_choices(get(hdropdown.nlpc,'Value')); @@ -673,23 +677,23 @@ function set_nlpc_choice(hObject,eventdata) % callback for hdropdown.nlpc end % amplitude threshold edit -amplThreshEditPos = [padL horiz_orig buttonWidth editHeight]; +amplThreshEditPos = [padL horiz_orig+0.02 buttonWidth editHeight]; hedit.ampl_thresh4voicing = uicontrol(p.guidata.buttonPanel,'Style','edit',... 'String',p.sigproc_params.ampl_thresh4voicing, ... 'Units','Normalized','Position',amplThreshEditPos,... - 'FontUnits','Normalized','FontSize',editFontSize,... + 'FontUnits','Normalized','FontSize',editFontSize*0.7,... 'Callback',@set_edit_ampl_thresh4voicing); horiz_orig = horiz_orig + editHeight + padYSmall; % amplitude threshold text horiz_orig = horiz_orig - textPosYOffset; -amplThreshTextPos = [padL horiz_orig buttonWidth textHeight]; +amplThreshTextPos = [padL horiz_orig+0.02 buttonWidth textHeight]; p.guidata.text_ampl_thresh4voicing = uicontrol(p.guidata.buttonPanel,'Style','text',... 'String','ampl threshold',... 'Units','Normalized','Position',amplThreshTextPos,... 'FontUnits','Normalized','FontSize',textFontSize); uistack(p.guidata.text_ampl_thresh4voicing,'bottom'); % move to bottom -horiz_orig = horiz_orig + textHeight + padYBig; +horiz_orig = horiz_orig + textHeight + padYBig*.5; function set_edit_ampl_thresh4voicing(hObject,eventdata) % callback for hedit.ampl_thresh4voicing set_ampl_thresh4voicing(str2double(get(hedit.ampl_thresh4voicing,'String'))); end @@ -705,13 +709,13 @@ function set_ampl_thresh4voicing(new_ampl_thresh4voicing) end % show/hide formant button -calcButtonPos = [padL horiz_orig buttonWidth buttonHeight]; +calcButtonPos = [padL horiz_orig+0.03 buttonWidth buttonHeight]; hbutton.toggle_formant = uicontrol(p.guidata.buttonPanel,'Style','pushbutton',... 'String','toggle formants',... 'Units','Normalized','Position',calcButtonPos,... 'FontUnits','Normalized','FontSize',buttonFontSize,... 'Callback',@toggle_formants); -horiz_orig = horiz_orig + buttonHeight + padYButton; +horiz_orig = horiz_orig + buttonHeight + padYButton*0.8; function toggle_formants(hObject,eventdata) % callback for hbutton.toggle_formant axinfo = get(gram_ax,'UserData'); locF1 = find(gram_ax.Children == axinfo.hply(2)); @@ -730,7 +734,7 @@ function toggle_formants(hObject,eventdata) % callback for hbutton.toggle_forman set(gram_ax,'UserData',axinfo); end % calc button -calcButtonPos = [padL horiz_orig buttonWidth buttonHeight]; +calcButtonPos = [padL horiz_orig+0.03 buttonWidth buttonHeight]; hbutton.calc = uicontrol(p.guidata.buttonPanel,'Style','pushbutton',... 'String','calc',... 'Units','Normalized','Position',calcButtonPos,...