No BSD License  

Highlights from
DAFX Toolbox

image thumbnail
from DAFX Toolbox by Dominik Wegmann
Advanced visualization and basic effect processing of recorded, generated or loaded audio data

drawthegui(FXNAME)
function drawthegui(FXNAME)
%Draws the GUI for DAFXTOOL
% ******************************************************
% * DAFXTOOL
% * signal processing and visualisation toolbox
% * ----------------------------------------------------
% * Author  :   Dominik Wegmann <audioholiker@web.de>
% ******************************************************

global H_DAFX F_DAFX STATBOX STATUSTEXT PLUGINS

width = 950;%GUI Dimensions
height = 700;

F_DAFX = figure('Position',[15 30 width height],...  %draw main figure
    'NumberTitle','off',...
    'Color',[.8 .8 .8],...
    'Name','DAFXTOOL');

H_DAFX(1) = uicontrol('Style','pushbutton',... % record button
    'Units','normalized',...
    'Position',[90/width (height-65)/height 70/width 22/height],...
    'ForegroundColor',[1 0 0],...
    'FontAngle','normal',...
    'FontSize',10,...
    'FontWeight','bold',...
    'String','Record',...
    'Visible','on',...
    'CallBack','dafxtool(1)');

H_DAFX(2) = uicontrol('Style','pushbutton',... % play button
    'Units','normalized', ...
    'Position',[736/width 630/height 165/width 30/height],...
    'ForegroundColor',[.2 0.6 .2],...
    'FontAngle','normal',...
    'FontSize',11,...
    'FontWeight','bold',...
    'String','Play',...
    'Enable','on',...
    'CallBack','dafxtool(2)');

H_DAFX(3) = uicontrol('Style','text',... % record time length
    'Units','normalized', ...
    'Position',[230/width (height-62)/height 35/width 15/height],...
    'BackgroundColor',[1 1 1],...
    'String','--');



H_DAFX(4) = uicontrol('Style','text',...  % diplays "length"
    'Units','normalized', ...
    'Position',[165/width (height-65)/height 65/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','length(sec):');

H_DAFX(5) = uicontrol('Style','text',...  % diplays "fs"
    'Units','normalized', ...
    'Position',[265/width (height-65)/height 30/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','fs:');

H_DAFX(6) = uicontrol('Style','edit',...  % diplays selected fs
    'Units','normalized', ...
    'Position',[290/width (height-62)/height 40/width 16/height],...
    'BackgroundColor',[1 1 1],...
    'String','44100');

H_DAFX(7) = uicontrol('Style','text',...  % diplays "nbits"
    'Units','normalized', ...
    'Position',[340/width (height-65)/height 26/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','nbits:');

H_DAFX(8) = uicontrol('Style','edit',...  % diplays selected bitrate
    'Units','normalized', ...
    'Position',[370/width (height-62)/height 22/width 16/height],...
    'BackgroundColor',[1 1 1],...
    'String','16');



H_DAFX(9) = uicontrol('Style','pushbutton',... % Load data from wav file
    'Units','normalized', ...
    'Position',[420/width (height-62.5)/height 65/width 21/height],...
    'ForegroundColor',[.2 .4 .2],...
    'FontWeight','bold',...
    'String','Load',...
    'Enable','on',...
    'CallBack','dafxtool(4)');

H_DAFX(10) = uicontrol('Style','pushbutton',... % Save data to wav file
    'Units','normalized', ...
    'Position',[490/width (height-62.5)/height 65/width 21/height],...
    'ForegroundColor',[.2 .4 .2],...
    'FontWeight','bold',...
    'String','Save',...
    'Enable','off',...
    'CallBack','dafxtool(5)');

H_DAFX(11) = uicontrol('Style','text',...  % diplays "file:"
    'Units','normalized', ...
    'Position',[560/width (height-62.5)/height 25/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','File:');

H_DAFX(12) = uicontrol('Style','text',...  % diplays filename
    'Units','normalized', ...
    'Position',[585/width (height-65)/height 140/width 18/height],...
    'BackgroundColor',[.8 .8 .8],...
    'HorizontalAlignment','left',...
    'String','     ');

H_DAFX(14) = uicontrol('Style','text',...  % diplays "Output"
    'Units','normalized', ...
    'Position',[332/width (height-405)/height 60/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','Output',...
    'Visible','off');

H_DAFX(15) = uicontrol('Style','pushbutton',... %Start data processing
    'Units','normalized', ...
    'Position',[736/width 290/height 165/width 45/height],...
    'ForegroundColor',[.8 .2 .2],...
    'FontSize',11,...
    'FontWeight','bold',...
    'String','RUN!',...
    'Enable','on',...
    'CallBack','dafxtool(10)');

H_DAFX(16)=uicontrol('Style','popupmenu',...   %select input view
    'Units','normalized', ...
    'Position',[50/width 325/height 65/width 15/height],...
    'BackgroundColor',[1 1 1],...
    'FontSize',8,...
    'Visible','off',...
    'String','Sig(t)|FFT_lin|FFT_log|PowerSpec|AuditorySpec|Spectrogram|Waterfall|Envelope|Correllation|Loudness|Pitch (F0)',...
    'Callback','dafxtool(8)');


H_DAFX(17)=uicontrol('Style','popupmenu',...   %select output view
    'Units','normalized', ...
    'Position',[50/width 35/height 65/width 15/height],...
    'BackgroundColor',[1 1 1],...
    'FontSize',8,...
    'Visible','off',...
    'String','Sig(t)|FFT_lin|FFT_log|PowerSpec|AuditorySpec|Spectrogram|Waterfall|Envelope|Correllation|Loudness|Pitch (F0)',...
    'Callback','dafxtool(9)');


H_DAFX(20)=uicontrol('Style','pushbutton',...   %playback output data
    'Units','normalized', ...
    'Position',[736/width 240/height 165/width 30/height],...
    'BackgroundColor',[1 1 1],...
    'ForegroundColor',[.8 .4 .2],...
    'String','Play Output',...
    'FontSize',10,...
    'FontWeight','bold',...
    'enable','on',...
    'Callback','dafxtool(3)');

H_DAFX(21)=uicontrol('Style','Slider',... %select region slider, start
    'Units','normalized', ...
    'Position',[30/width 599/height 692/width 10/height],...
    'BackgroundColor',[1 1 1],...
    'ForegroundColor',[.8 .4 .2],...
    'Min',0,...
    'Max',1,...
    'SliderStep',[0.001 0.07],...
    'Value',0,...
    'Visible','off',...
    'Callback','dafxtool(100)');


H_DAFX(22)=uicontrol('Style','Slider',... %select region slider, end
    'Units','normalized', ...
    'Position',[30/width 590/height 692/width 10/height],...
    'BackgroundColor',[1 1 1],...
    'ForegroundColor',[.8 .4 .2],...
    'Min',0,...
    'Max',1,...
    'SliderStep',[0.001 0.07],...
    'Value',1,...
    'Visible','off',...
    'Callback','dafxtool(100)');

H_DAFX(26)=uicontrol('Style','popupmenu',...   %enable channel selection
    'Units','normalized', ...
    'Position',[120/width 325/height 40/width 15/height],...
    'BackgroundColor',[1 1 1],...
    'FontSize',8,...
    'Visible','off',...
    'Enable','off',...
    'String','1',...
    'Callback','dafxtool(20)');

H_DAFX(27)=uicontrol('Style','popupmenu',...   %enable channel selection
    'Units','normalized', ...
    'Position',[120/width 35/height 40/width 15/height],...
    'BackgroundColor',[1 1 1],...
    'FontSize',8,...
    'Visible','off',...
    'Enable','off',...
    'String','1',...
    'Callback','dafxtool(21)');

H_DAFX(28) = uicontrol('Style','pushbutton',... % stop button
    'Units','normalized', ...
    'Position',[736/width 630/height 165/width 30/height],...
    'ForegroundColor',[0 0 0],...
    'FontAngle','normal',...
    'FontSize',11,...
    'FontWeight','bold',...
    'String','Stop',...
    'Visible','off',...
    'Enable','off',...
    'CallBack','dafxtool(30)');

H_DAFX(29)=uicontrol('Style','pushbutton',...   %help button
    'Units','normalized', ...
    'Position',[880/width 10/height 33/width 16/height],...
    'BackgroundColor',[1 1 1],...
    'String','Help',...
    'FontSize',7,...
    'enable','on',...
    'Callback','dafxtool(40)');

H_DAFX(30)=uicontrol('Style','pushbutton',...   %stop playback output data
    'Units','normalized', ...
    'Position',[736/width 240/height 165/width 30/height],...
    'BackgroundColor',[1 1 1],...
    'ForegroundColor',[0 0 0],...
    'String','Stop',...
    'FontSize',10,...
    'FontWeight','bold',...
    'enable','off',...
    'Visible','off',...
    'Callback','dafxtool(30)');

H_DAFX(31) = uicontrol('Style','pushbutton',... % stop record button
    'Units','normalized',...
    'Position',[90/width (height-65)/height 70/width 22/height],...
    'ForegroundColor',[0 0 0],...
    'FontAngle','normal',...
    'FontSize',10,...
    'FontWeight','bold',...
    'String','STOP',...
    'Visible','off',...
    'enable','off',...
    'CallBack','dafxtool(31)');

H_DAFX(32)= uicontrol('Style','text',...  % start
    'Units','normalized', ...
    'Position',[8/width 599/height 20/width 10/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',7,...
    'Visible','off',...
    'String','start');

H_DAFX(33)= uicontrol('Style','text',...  % end
    'Units','normalized', ...
    'Position',[8/width 590/height 20/width 10/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',7,...
    'Visible','off',...
    'String','end');

H_DAFX(34)=uicontrol('Style','text',...   % input view
    'Units','normalized', ...
    'Position',[19/width 322/height 30/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'Visible','off',...
    'String','View:');

H_DAFX(35)=uicontrol('Style','text',...   % output view
    'Units','normalized', ...
    'Position',[19/width 32/height 30/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'Visible','off',...
    'String','View:');

H_DAFX(36)=uicontrol('Style','checkbox',...   % separate plot
    'Units','normalized', ...
    'Position',[170/width 320/height 80/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'Visible','off',...
    'String','undock fig');

H_DAFX(37)=uicontrol('Style','checkbox',...   % separate plot
    'Units','normalized', ...
    'Position',[170/width 30/height 80/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'Visible','off',...
    'String','undock fig',...
    'Value',0);

H_DAFX(38)=uicontrol('Style','radiobutton',...   % loop playback
    'Units','normalized', ...
    'Position',[870/width 591/height 50/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',7,...
    'Visible','on',...
    'Enable','on',...
    'String','Loop',...
    'Value',0);

H_DAFX(39) = uicontrol('Style','pushbutton',... % crop button
    'Units','normalized', ...
    'Position',[736/width 590/height 30/width 20/height],...
    'ForegroundColor',[0 0 0],...
    'FontAngle','normal',...
    'FontSize',7,...
    'String','crop',...
    'Enable','on',...
    'CallBack','dafxtool(33)');

H_DAFX(40) = uicontrol('Style','pushbutton',... % fade in button
    'Units','normalized', ...
    'Position',[770/width 590/height 30/width 20/height],...
    'ForegroundColor',[0 0 0],...
    'FontAngle','normal',...
    'FontSize',7,...
    'String','fade<',...
    'Enable','on',...
    'CallBack','dafxtool(34)');

H_DAFX(41) = uicontrol('Style','pushbutton',... % fade out button
    'Units','normalized', ...
    'Position',[802/width 590/height 30/width 20/height],...
    'ForegroundColor',[0 0 0],...
    'FontAngle','normal',...
    'FontSize',7,...
    'String','fade>',...
    'Enable','on',...
    'CallBack','dafxtool(35)');

H_DAFX(42) = uicontrol('Style','pushbutton',... % undo button
    'Units','normalized', ...
    'Position',[836/width 590/height 30/width 20/height],...
    'ForegroundColor',[0 0 0],...
    'FontAngle','normal',...
    'FontSize',7,...
    'String','undo',...
    'Enable','on',...
    'CallBack','dafxtool(36)');

H_DAFX(43) = uicontrol('Style','pushbutton',... % flip out=data button
    'Units','normalized', ...
    'Position',[610/width 20/height 95/width 20/height],...
    'ForegroundColor',[0 0 0],...
    'FontAngle','normal',...
    'FontSize',8,...
    'String','Flip output => input',...
    'Enable','off',...
    'Visible','off',...
    'CallBack','dafxtool(37)');



H_DAFX(100) = uicontrol('Style','pushbutton',... % run signalgenerator
    'Units','normalized',...
    'Position',[10/width (height-65)/height 70/width 22/height],...
    'ForegroundColor',[0 0 0],...
    'FontAngle','normal',...
    'FontSize',10,...
    'FontWeight','bold',...
    'String','SigGen',...
    'Visible','on',...
    'CallBack','dafxtool(32)');





PLUGINS(1)= uipanel('Units','normalized', ...    %Draws PlugIn-section
    'Position',[725/width 285/height 187/width 280/height],...
    'BackgroundColor',[.8 .8 .8],...
    'Title',' PlugIns : ',...
    'TitlePosition','centertop',...
    'FontSize',10);


h=520;
for k=2:6
    PLUGINS(k)= uicontrol('Style','popupmenu', ...
        'Units','normalized', ...
        'Position',[740/width h/height 160/width 15/height],...
        'BackgroundColor',[1 1 1],...
        'enable','on',...
        'String',char(FXNAME));
    h=h-30;
end

PLUGINS(7)= uicontrol('Style','radiobutton', ...
    'Units','normalized', ...
    'Position',[750/width 370/height 140/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'enable','on',...
    'String','default parameter values');

PLUGINS(8)= uicontrol('Style','radiobutton', ...
    'Units','normalized', ...
    'Position',[750/width 350/height 140/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'enable','on',...
    'String','selected region only');

STATBOX(1)= uipanel('Units','normalized', ...    %Draws Textbox ( Levels )
    'Position',[728/width 130/height 185/width 90/height],...
    'BackgroundColor',[.8 .8 .8],...
    'Title',' Levels ',...
    'TitlePosition','centertop',...
    'FontSize',7);

STATBOX(2)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[770/width 191/height 70/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','Input');

STATBOX(3)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[825/width 191/height 70/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','Output');

STATBOX(4)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[730/width 174/height 48/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','RMS(dB):');

STATBOX(5)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[782/width 174/height 56/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','--');

STATBOX(6)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[835/width 174/height  56/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','--');

STATBOX(7)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[730/width 158/height 48/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','Max(dB):');

STATBOX(8)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[782/width 158/height  56/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','--');

STATBOX(9)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[835/width 158/height  56/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','--');

STATBOX(10)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[730/width 141/height 48/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','Min(dB):');

STATBOX(11)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[782/width 141/height  56/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','--');

STATBOX(12)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[835/width 141/height  56/width 12/height],...
    'BackgroundColor',[.8 .8 .8],...
    'FontSize',8,...
    'String','--');


STATUSTEXT(1)= uipanel('Units','normalized', ...    %Draws Status-Textbox
    'Position',[728/width 30/height 185/width 95/height],...
    'BackgroundColor',[.8 .8 .8],...
    'Title',' Status ',...
    'TitlePosition','centertop',...
    'FontSize',7);

STATUSTEXT(2)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[737/width 94/height 170/width 14/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String',' - DAFXTOOL V2.1 - ',...
    'FontSize',8);

STATUSTEXT(3)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[737/width 78/height 170/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','domi 10/2005',...
    'FontSize',8);

STATUSTEXT(4)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[737/width 64/height 170/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','------',...
    'FontSize',8);

STATUSTEXT(5)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[737/width 49/height 170/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','ready to rock...',...
    'FontSize',8);

STATUSTEXT(6)= uicontrol('Style','text',...  %
    'Units','normalized', ...
    'Position',[737/width 34/height 170/width 15/height],...
    'BackgroundColor',[.8 .8 .8],...
    'String','',...
    'FontSize',8);

Contact us at files@mathworks.com