Mercurial > hg > smallbox
comparison util/classes/@audio/plot.m @ 160:e3035d45d014 danieleb
Added support classes
author | Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk> |
---|---|
date | Wed, 31 Aug 2011 10:53:10 +0100 |
parents | |
children | 1495bdfa13e9 |
comparison
equal
deleted
inserted
replaced
159:23763c5fbda5 | 160:e3035d45d014 |
---|---|
1 function plot(obj) | |
2 | |
3 %% Plot the time domain signal | |
4 s = obj.s; | |
5 fs = obj.fs; | |
6 figure, plot((1:length(s))/fs,s); | |
7 title('Audio signal') | |
8 xlabel('time (s)'); | |
9 axis tight | |
10 | |
11 player = audioplayer(s,fs); | |
12 set(player,'StartFcn',@plotTransportBar); | |
13 set(player,'TimerFcn',@updateTransportBar); | |
14 set(player,'StopFcn',@deleteTransportBar); | |
15 | |
16 %% Add playbaack controls | |
17 playButtonH = uicontrol(gcf,'Style','pushbutton','String','play','Units',... | |
18 'Normalized','Position',[0.02 + 0.39 0 0.1 0.05]); | |
19 stopButtonH = uicontrol(gcf,'Style','pushbutton','String','stop','Units',... | |
20 'Normalized','Position',[0.12 + 0.39 0 0.1 0.05]); | |
21 | |
22 set(playButtonH,'Callback',@play_callback); | |
23 set(stopButtonH,'Callback',@stop_callback); | |
24 | |
25 function play_callback(~,~) | |
26 if strcmpi(get(playButtonH,'String'),'play') | |
27 play(player,player.CurrentSample); | |
28 set(playButtonH,'String','pause'); | |
29 else | |
30 pause(player) | |
31 set(playButtonH,'String','play'); | |
32 end | |
33 end | |
34 | |
35 function stop_callback(~,~) | |
36 stop(player); | |
37 end | |
38 | |
39 %% Transport Bar functions | |
40 function plotTransportBar(~,~) | |
41 global tbH | |
42 xLim = get(gca,'Xlim'); | |
43 yLim = get(gca,'YLim'); | |
44 tbH = line([xLim(1) xLim(1)],yLim,'Color','k'); | |
45 end | |
46 | |
47 function updateTransportBar(hObject,~) | |
48 global tbH | |
49 currentSample = hObject.CurrentSample; | |
50 pos = currentSample/fs; | |
51 set(tbH,'XData',[pos pos]); | |
52 end | |
53 | |
54 function deleteTransportBar(~,~) | |
55 global tbH | |
56 delete(tbH); | |
57 end | |
58 end |