Effacer les filtres
Effacer les filtres

Count up instead of down?

3 vues (au cours des 30 derniers jours)
B_Richardson
B_Richardson le 4 Août 2011
Hello All! I have this snippet ofcode:
r=get(mp.currentMedia,'duration');
remaint=r-currpos1;
set(handles.edit2,'String',remaint);
Basically, it gets the "duration" of the currently selected video in a GUIDE GUI in seconds, then -1 it by 1 and sends the value to an edittext.
Problem is it counts down 40, 39, 38... instead of up. I'm trying to figure out a way to modify this code so it counts from 0 to "duration"
Thanks!

Réponse acceptée

Oleg Komarov
Oleg Komarov le 4 Août 2011
If remaint counts as 40, 39, 38... then simply currpos1 will count 0, 1, 2...
  9 commentaires
Oleg Komarov
Oleg Komarov le 4 Août 2011
Ehm...I wanted to ask if "are you sure you want to count it up since ..."
B_Richardson
B_Richardson le 4 Août 2011
I made the change, it still seems to count down.

Connectez-vous pour commenter.

Plus de réponses (4)

Image Analyst
Image Analyst le 4 Août 2011
I don't know what this means "...then -1 it by 1 ..." If r is the total time of the video, and currpos1 is the elapsed time, then remaint is the remaining time, and of course that will count down as you observed. The longer it plays, the less time there is left. If you want it to show elapsed time instead of remaining time, just send currpos1 to the static text label instead of remaint. The elasped time will, of course, count up.
  2 commentaires
B_Richardson
B_Richardson le 4 Août 2011
set(handles.edit2,'String',currpos1);
Still the edittext counts down. There must be something else going on here.
B_Richardson
B_Richardson le 4 Août 2011
"...then -1 it by 1 ..."
I meant subtract by 1.
r=get(mp.currentMedia,'duration');
remaint=r-currpos1;
set(handles.edit2,'String',remaint);
I dont see why what you suggested wouldnt work. Cleary the edittext's value is remaint

Connectez-vous pour commenter.


B_Richardson
B_Richardson le 4 Août 2011
If you want to see the code yourself, I got it here
Its in the callback for pushbutton2

B_Richardson
B_Richardson le 4 Août 2011
Actually everyone, I learned that the edit2 was being updated at another place in the code. After I changed that to
set(handles.edit2,'String',currpos1);
The counter starts at the beginning, but doesn't count at all. I'm sure if I had a better handle on the Matlab debugger I could figure this out

B_Richardson
B_Richardson le 4 Août 2011
Figured it out! Image Analyst was right!
remaint=currpos1;
set(handles.edit2,'String',remaint);
j=0;
if remaint <=0 j==r %had to change "remaint" to "currpos1" here
Thanks for the help. I think I'm finally starting to get good with Matlab.

Catégories

En savoir plus sur Just for fun dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by