[Sugar-devel] Object Chooser (was Re: Etoys mp3 files)

Ajay Garg ajaygargnsit at gmail.com
Wed Jun 6 14:19:54 EDT 2012


On Wed, Jun 6, 2012 at 3:06 AM, Bert Freudenberg <bert at freudenbergs.de>wrote:

>
> On 05.06.2012, at 22:53, Ajay Garg wrote:
>
> Hi Bert.
>
> There is good news, and (rather mild bad news).
>
>
> I updated the code from etoys4.1 to etoys5.0, as suggested by you via
> "update code from server", and the following use-cases worked perfectly as
> expected ::
>
>
> a)
> Open an mp3 from a USB pen-drive via journal-object-chooser.
> Click "Play in MPEG player".
> The mp3 starts playing.
> Click "Stop".
> Click "Play".
> mp3 resumes playing.
> Click "Stop".
> Click "Rewind".
> Click "Play".
> mp3 starts playing from the beginning.
>
>
> b)
> Open an mp3 from a USB pen-drive via journal-object-chooser.
> Click "Open".
> Click "Play".
> The mp3 starts playing.
> Click "Stop".
> Click "Play".
> mp3 resumes playing.
> Click "Stop".
> Click "Rewind".
> Click "Play".
> mp3 starts playing from the beginning.
>
>
> c)
> Open an mp3 from the journal via journal-object-chooser.
> Click "Play in MPEG player".
> The mp3 starts playing.
> Click "Stop".
> Click "Play".
> mp3 resumes playing.
> Click "Stop".
> Click "Rewind".
> Click "Play".
> mp3 DOES NOT PLAY. Instead an error comes up, saying that the file-name
> has changed.
>
>
> d)
> Open an mp3 from the journal via journal-object-chooser.
> Click "Open".
> Click "Play".
> The mp3 starts playing.
> Click "Stop".
> Click "Play".
> mp3 resumes playing.
> Click "Stop".
> Click "Rewind".
> Click "Play".
> mp3 DOES NOT PLAY. Instead an error comes up, saying that the file-name
> has changed.
>
>
> e)
> I tried steps a), b), c), d) with etoys4.1.
> a) and b) failed (for obvious reasons).
> c) and d) ALSO failed, with the same symptoms.
>
>
> So it plays once and but not again. I have a hunch.
>
> When a file was checked out from the datastore, an activity needs to
> delete it when it is done. Etoys deletes the file when the file object is
> released (using a finalizer). I guess the MPEGPlayer stores only the name,
> closes the file, and tries to re-open it from the same name. If the
> original file object has been garbage-collected already, the finalizer will
> have deleted the file. Thus, trying to re-open it will fail.
>


I guess this is what is happening.


Some thoughts ::

a)
So, the reason that things work fine in the case of USB drives, is because
there is always a reference to the file by the OS. Thus, the file itself is
never deleted.


b)
More importantly, WHY WOULD MPEGPLAYER NEED TO DELETE THE FILE? CAN THE
FILE SIMPLY NOT BE ACCESSED IN A UNIFORM MANNER FROM BOTH JOURNAL AND USB
PEN DRIVES?
As part of this, I tried using the journal file simply (without making its
copy). So, now "Rewind" worked. But the next time, "Rewind" did not work,
apparently because the file was deleted.


So,
*WHY WOULD MPEGPLAYER NEED TO DELETE THE FILE? CAN THE FILE SIMPLY NOT BE
ACCESSED IN A UNIFORM MANNER FROM BOTH JOURNAL AND USB PEN DRIVES, WITHOUT
HAVING THE NEED TO DELETE THE FILE ALTOGETHER?*


On an unrelated note :: Thanks a ton for the tutorials on  squeak. I could
finally do some live debugging :D :D
Thanks again.


Thanks and Regards,
Ajay




>
> f)
> I tried installing the new rolled out etoys-5.0.2406-1.fc17.noarch.rpm<http://kojipkgs.fedoraproject.org/packages/etoys/5.0.2406/1.fc17/noarch/etoys-5.0.2406-1.fc17.noarch.rpm>
> However, it needed a squeak-vm greater than 3.10.
> Now, I had uninstalled the squeak-vm, and installed it instead via source
> (for 4.0 branch).
> So, I installed the rpm by "sudo rpm -i --nodeps
> etoys-5.0.2406-1.fc17.noarch.rpm<http://kojipkgs.fedoraproject.org/packages/etoys/5.0.2406/1.fc17/noarch/etoys-5.0.2406-1.fc17.noarch.rpm>
> ".
> a) and b) CONTINUED TO FAIL (meaning that the change did not take effect).
>
>
> It's not yet in 5.0.2406. You need to "update code from server".
>
>
> So, Bert,
>
> (i)
> Could the new rpm for squeak-vm (from 4.0 branch) also be rolled out; so
> that the mpeg-plugin change could also be tested end-to-end.
>
>
> It would be a good idea to package the current 4.4.7 Squeak VM in any
> case. But it does not have my latest patches yet. I've sent the patches two
> weeks ago, but there was no new release yet.
>
> (ii)
> Kindly provide me a snapshot of your last commit, so that I may go through
> the mechanics of making the change in etoys. I would then subequently like
> to fix cases c) and d)  :-)
>
>
> I'm not quite sure what you mean with "snapshot of your last commit"?
>
> Fixing the c) and d) cases is not exactly a task I would give to a new
> Squeak programmer. You're welcome to surprise me, of course ;) You would
> have to start at SugarLauncher's "getFile:" method.
>
> - Bert -
>
>
> Thanks a ton ....
>
>
> Thanks and Regards,
> Ajay
>
>
>
>
>
> On Tue, Jun 5, 2012 at 10:26 PM, Bert Freudenberg <bert at freudenbergs.de>wrote:
>
>>
>> On 05.06.2012, at 15:57, Bert Freudenberg wrote:
>>
>> > On 05.06.2012, at 15:33, Ajay Garg wrote:
>> >
>> >> Bert,
>> >>
>> >> A small query ::
>> >>
>> >> I have the version "etoys4.1".
>> >> Is the "5.0.2406" version based on a higher release version of Fedora?
>> >
>> > Fedora is a Linux distribution. Etoys is an application. Your question
>> makes no sense to me.
>> >
>> > Or are you asking if Etoys 5 requires Fedora 17? No, it does not. Etoys
>> is cross-platform and hopefully works everywhere. See
>> >
>> >       http://squeakland.org/download/
>> >
>> > And poke around on that site to see what makes Etoys special (and not
>> just weird). In particular, read the articles at
>> >
>> >       http://squeakland.org/resources/articles/
>> >
>> > For testing purposes I build my own rpms (including etoys 5):
>> >
>> >       http://etoys.laptop.org/
>> >
>> > Or you might install from the source tar balls at
>> >
>> >       http://download.sugarlabs.org/sources/sucrose/glucose/etoys/
>> >
>> > [You can actually update from etoys 4.1 but that's not officially
>> supported. It will take a lot longer, and you will not get the new
>> supporting files like translations etc. You need to say "yes" when asked to
>> advance to etoys 5, "no" when asked to load newest packages. Then update
>> again, this time you can say "yes" to the newest packages.]
>> >
>> > - Bert -
>>
>> Oh, and news from the dev meeting: Peter packaged Etoys 5 for Fedora. If
>> you give it karma after testing, it should become an update soonish:
>>
>> https://admin.fedoraproject.org/updates/etoys-5.0.2406-1.fc17
>>
>> Direct RPM link:
>>
>>
>> http://kojipkgs.fedoraproject.org/packages/etoys/5.0.2406/1.fc17/noarch/etoys-5.0.2406-1.fc17.noarch.rpm
>>
>>
>> - Bert -
>>
>>
>> _______________________________________________
>> Sugar-devel mailing list
>> Sugar-devel at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>
>
> \
>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20120606/e27c051b/attachment.html>


More information about the Sugar-devel mailing list