Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
December 2013
- 87 participants
- 1533 messages
[pharo-project/pharo-core] 2df65c: 30660
by GitHub
Branch: refs/heads/3.0
Home: https://github.com/pharo-project/pharo-core
Commit: 2df65cb8b1b6cb3946da8d165098080449e3d5dd
https://github.com/pharo-project/pharo-core/commit/2df65cb8b1b6cb3946da8d16…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2013-12-26 (Thu, 26 Dec 2013)
Changed paths:
M FuelTests.package/FLMigrationTest.class/instance/tests-automatic/testChangeInSuperclass.st
R MenuRegistration.package/PragmaMenuAndShortcutRegistration.class/instance/as yet unclassified/setAsGlobalCategory_.st
A MenuRegistration.package/PragmaMenuAndShortcutRegistration.class/instance/keymapping protocol/keyText_if_.st
A MenuRegistration.package/PragmaMenuAndShortcutRegistration.class/instance/keymapping protocol/setAsGlobalCategory_.st
A Monticello.package/MCPackage.class/instance/testing/isDirty.st
A Morphic-Base.package/IconicButton.class/instance/accessing/graphicalMorph.st
A Morphic-Base.package/IconicButton.class/instance/accessing/graphicalMorph_.st
M Morphic-Base.package/MenuMorph.class/instance/private/setTitleParametersFor_.st
A Morphic-Base.package/PluggableListMorph.class/instance/accessing/getListElementSelector.st
R Nautilus.package/extension/IconicButton/instance/graphicalMorph.st
R Nautilus.package/extension/IconicButton/instance/graphicalMorph_.st
R Nautilus.package/extension/MCPackage/instance/isDirty.st
R Nautilus.package/extension/PluggableListMorph/instance/getListElementSelector.st
R Nautilus.package/extension/PragmaMenuAndShortcutRegistration/instance/keyText_if_.st
R Nautilus.package/extension/RPackage/instance/%3C=.st
R Nautilus.package/extension/RPackage/instance/classesOfExtensionMethods.st
R Nautilus.package/extension/RPackage/instance/fileOut.st
R Nautilus.package/extension/RPackage/instance/orderedClasses.st
R Nautilus.package/extension/RPackageTag/instance/fileOut.st
R Nautilus.package/extension/TBehavior/instance/methodNamed_ifAbsent_.st
R Nautilus.package/extension/TBehavior/instance/realClass.st
M NautilusCommon.package/NautilusHistoryEntry.class/instance/protocol/applyTo_.st
M RPackage-Core.package/RPackage.class/instance/accessing/extendedClasses.st
A RPackage-Core.package/RPackage.class/instance/all accessing/orderedClasses.st
A RPackage-Core.package/RPackage.class/instance/comparing/%3C=.st
A RPackage-Core.package/RPackage.class/instance/file in%2Fout/fileOut.st
A RPackage-Core.package/RPackageTag.class/instance/file in%2Fout/fileOut.st
A ReleaseTests.package/ReleaseTest.class/README.md
A ReleaseTests.package/ReleaseTest.class/class/accessing/actualProcesses.st
A ReleaseTests.package/ReleaseTest.class/class/accessing/knownProcesses.st
A ReleaseTests.package/ReleaseTest.class/definition.st
A ReleaseTests.package/ReleaseTest.class/instance/accessing/actualProcesses.st
A ReleaseTests.package/ReleaseTest.class/instance/accessing/knownProcesses.st
A ReleaseTests.package/ReleaseTest.class/instance/testing/testInstalledMethodsWithIncorrectTrailerKind.st
A ReleaseTests.package/ReleaseTest.class/instance/testing/testInstanceSideMethodsWithNilKeyInLastLiteral.st
A ReleaseTests.package/ReleaseTest.class/instance/testing/testLayoutIntegrity.st
A ReleaseTests.package/ReleaseTest.class/instance/testing/testMethodsWithUnboundGlobals.st
A ReleaseTests.package/ReleaseTest.class/instance/testing/testObsoleteClasses.st
A ReleaseTests.package/ReleaseTest.class/instance/testing/testUndeclared.st
A ReleaseTests.package/ReleaseTest.class/instance/testing/testUnknownProcesses.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - scripts/script313.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - updates/update30660.st
M ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
R Spec-Core.package/ButtonModel.class/instance/morphic/keyStroke_fromMorph_.st
R Tests.package/ReleaseTest.class/README.md
R Tests.package/ReleaseTest.class/class/accessing/actualProcesses.st
R Tests.package/ReleaseTest.class/class/accessing/knownProcesses.st
R Tests.package/ReleaseTest.class/definition.st
R Tests.package/ReleaseTest.class/instance/accessing/actualProcesses.st
R Tests.package/ReleaseTest.class/instance/accessing/knownProcesses.st
R Tests.package/ReleaseTest.class/instance/testing/testInstalledMethodsWithIncorrectTrailerKind.st
R Tests.package/ReleaseTest.class/instance/testing/testInstanceSideMethodsWithNilKeyInLastLiteral.st
R Tests.package/ReleaseTest.class/instance/testing/testLayoutIntegrity.st
R Tests.package/ReleaseTest.class/instance/testing/testMethodsWithUnboundGlobals.st
R Tests.package/ReleaseTest.class/instance/testing/testObsoleteClasses.st
R Tests.package/ReleaseTest.class/instance/testing/testUndeclared.st
R Tests.package/ReleaseTest.class/instance/testing/testUnknownProcesses.st
A Traits.package/TBehavior.class/instance/accessing/realClass.st
Log Message:
-----------
30660
12426 Morph menu has strange behavior when the Morph label is too large
https://pharo.fogbugz.com/f/cases/12426
12505 Workaround: skip testChangeInSuperclass
https://pharo.fogbugz.com/f/cases/12505
12474 Cleaning Nautilus extensions
https://pharo.fogbugz.com/f/cases/12474
12436 Move ReleaseTest to its own package
https://pharo.fogbugz.com/f/cases/12436
http://files.pharo.org/image/30/30660.zip
Dec. 26, 2013
Re: [Pharo-dev] Transparent colors with NBOpenGL?
by Denis Kudriashov
2013/12/26 Ronie Salgado <roniesalg(a)gmail.com>
> Stef
>
> That sounds very interesting. I dream of a virtual world environment such
> as Second Life, highly dynamic and completely open source.
What about Croquet?
Dec. 26, 2013
Re: [Pharo-dev] Transparent colors with NBOpenGL?
by Alexandre Bergel
Thanks Ronie for these explanation
Alexandre
On Dec 26, 2013, at 7:52 AM, Ronie Salgado <roniesalg(a)gmail.com> wrote:
> Alex,
>
> libSDL and libSDL2 are low-level multi-media libraries designed for games. Those libraries are best suited for basic pixel blitting, some lines and rect in a cross platform way. Both libraries allows you to use a custom software rendering or create a window in a cross-platform way. As for Cairo, that's a full featured vector graphics library, practically designed for SVG rendering. So, those two libraries cannot be compared, but I think that Cairo can be used to render into a texture and then use SDL to display it on screen. Actually, I don't have any experience with Cairo.
>
> As for the VM, I was looking at his Unix platform module, suspecting that the tearing and flickering was caused by using just XLib for blitting the main pharo window after Milton told that those issues aren't seen in Windows. If we add to the mix some always buggy AMD drivers, it seems that the solution goes by rewriting the display to uses OpenGL for blitting the main window, with VSync enabled, or using a separate native window for OpenGL graphics.
>
> By the way, what I found most strange about display VM code is that there's support for creating an OpenGL context already in place, with an accompanying -glxdebug flag, for verbose output. When I tried that option, I didn't get any output, so I could assume that these is not used for fast blitting under Linux.
>
> As for SDL2, it provides all the required facilities for a VM display module, without having to deal with X11 or platform specifics. Window creation, multiple OpenGL context creation, clipboard handling, input support, multi-threading, sound support, drag and drop. That version of SDL had a strong contribution by Valve, they needed something to start pushing heavily Linux, even the latest versions of Steam uses it.
>
> Anyway, I am planning to discuss this matter with Igor, during my stay at Lille.
>
> Greetings,
> Ronie Salgado
>
>
> 2013/12/26 Alexandre Bergel <alexandre.bergel(a)me.com>
> Ronie,
>
> You mention libSDL. Do you know how it compares with Cairo? They look similar, but I could not find a detailed comparison
>
> Alexandre
>
> Le 26-12-2013 à 0:12, Ronie Salgado <roniesalg(a)gmail.com> a écrit :
>
>> Stef
>>
>> That sounds very interesting. I dream of a virtual world environment such as Second Life, highly dynamic and completely open source.
>>
>> But currently I would like to do a simple video game, with toon like graphic, using bullet for physics. I think that making an actual game development pipeline would be very interesting.
>> I would not create a full level editor, modeling software because it takes too much time, and there is Blender which is open source and very complete.
>>
>> Some tasks required are as follow:
>> - An easy way to make bindings for C++ libraries. For this I am going to start extending SWIG(http://www.swig.org/) so it can generate bindings for Pharo NativeBoost.
>> - Bindings for the Bullet physics engine(http://bulletphysics.org/wordpress/). With the extensions for swig, this is trivial.
>> - An importer for COLLADA. COLLADA is a XML based asset exchange format, with a wide support in different 3d model editors, such as Blender.
>> - For Linux, a new VM display module is required. The current that uses just X11 suffers of severe tearing and flickering. I would like to make a display module for the VM that uses SDL2, which is a cross platform library that supports hardware accelerated graphics, or cross platform creation of an OpenGL context.
>> - I think that garbage collection would require some determinism/time constraint or write some guidelines to avoid triggering the gargbage collector. When I'm testing the particles, I can see some noticeable pause, that I attribute to the garbage collector.
>>
>> Greetings,
>> Ronie Salgado
>>
>>
>> 2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>> Ronie
>>
>> I was talking about 3D with Igor (because Igor came to Smalltalk because he wanted to use it as a game engine and built rendering
>> engine in Pascal long long time ago :).
>> So I was brainstorming to see what you could do.
>>
>> the last time alex show roassal 3D we were thinking that it would be good to build a kickstarter show case on something
>> sexy (maybe bridging a physical model to 3D)â¦.
>>
>> Now what would like to build with NBOpenGL? What are your dreams and how
>> could we slice them into tasks that could be reached in a limited amount of time.
>>
>> Stef
>>
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Dec. 26, 2013
Re: [Pharo-dev] Transparent colors with NBOpenGL?
by Igor Stasenko
On 26 December 2013 07:52, Ronie Salgado <roniesalg(a)gmail.com> wrote:
> Alex,
>
> libSDL and libSDL2 are low-level multi-media libraries designed for games.
> Those libraries are best suited for basic pixel blitting, some lines and
> rect in a cross platform way. Both libraries allows you to use a custom
> software rendering or create a window in a cross-platform way. As for
> Cairo, that's a full featured vector graphics library, practically designed
> for SVG rendering. So, those two libraries cannot be compared, but I think
> that Cairo can be used to render into a texture and then use SDL to display
> it on screen. Actually, I don't have any experience with Cairo.
>
> As for the VM, I was looking at his Unix platform module, suspecting that
> the tearing and flickering was caused by using just XLib for blitting the
> main pharo window after Milton told that those issues aren't seen in
> Windows. If we add to the mix some always buggy AMD drivers, it seems that
> the solution goes by rewriting the display to uses OpenGL for blitting the
> main window, with VSync enabled, or using a separate native window for
> OpenGL graphics.
>
> By the way, what I found most strange about display VM code is that
> there's support for creating an OpenGL context already in place, with an
> accompanying -glxdebug flag, for verbose output. When I tried that option,
> I didn't get any output, so I could assume that these is not used for fast
> blitting under Linux.
>
> As for SDL2, it provides all the required facilities for a VM display
> module, without having to deal with X11 or platform specifics. Window
> creation, multiple OpenGL context creation, clipboard handling, input
> support, multi-threading, sound support, drag and drop. That version of SDL
> had a strong contribution by Valve, they needed something to start pushing
> heavily Linux, even the latest versions of Steam uses it.
>
> Anyway, I am planning to discuss this matter with Igor, during my stay at
> Lille.
>
>
Yes, i want to do some improvements in this area of VM.
> Greetings,
> Ronie Salgado
>
>
> 2013/12/26 Alexandre Bergel <alexandre.bergel(a)me.com>
>
>> Ronie,
>>
>> You mention libSDL. Do you know how it compares with Cairo? They look
>> similar, but I could not find a detailed comparison
>>
>> Alexandre
>>
>> Le 26-12-2013 à 0:12, Ronie Salgado <roniesalg(a)gmail.com> a écrit :
>>
>> Stef
>>
>> That sounds very interesting. I dream of a virtual world environment such
>> as Second Life, highly dynamic and completely open source.
>>
>> But currently I would like to do a simple video game, with toon like
>> graphic, using bullet for physics. I think that making an actual game
>> development pipeline would be very interesting.
>> I would not create a full level editor, modeling software because it
>> takes too much time, and there is Blender which is open source and very
>> complete.
>>
>> Some tasks required are as follow:
>> - An easy way to make bindings for C++ libraries. For this I am going to
>> start extending SWIG(http://www.swig.org/) so it can generate bindings
>> for Pharo NativeBoost.
>> - Bindings for the Bullet physics engine(
>> http://bulletphysics.org/wordpress/) With the extensions for swig, this
>> is trivial.
>> - An importer for COLLADA. COLLADA is a XML based asset exchange format,
>> with a wide support in different 3d model editors, such as Blender.
>> - For Linux, a new VM display module is required. The current that uses
>> just X11 suffers of severe tearing and flickering. I would like to make a
>> display module for the VM that uses SDL2, which is a cross platform library
>> that supports hardware accelerated graphics, or cross platform creation of
>> an OpenGL context.
>> - I think that garbage collection would require some determinism/time
>> constraint or write some guidelines to avoid triggering the gargbage
>> collector. When I'm testing the particles, I can see some noticeable pause,
>> that I attribute to the garbage collector.
>>
>> Greetings,
>> Ronie Salgado
>>
>>
>> 2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>>
>>> Ronie
>>>
>>> I was talking about 3D with Igor (because Igor came to Smalltalk because
>>> he wanted to use it as a game engine and built rendering
>>> engine in Pascal long long time ago :).
>>> So I was brainstorming to see what you could do.
>>>
>>> the last time alex show roassal 3D we were thinking that it would be
>>> good to build a kickstarter show case on something
>>> sexy (maybe bridging a physical model to 3D)â¦.
>>>
>>> Now what would like to build with NBOpenGL? What are your dreams and how
>>> could we slice them into tasks that could be reached in a limited amount
>>> of time.
>>>
>>> Stef
>>>
>>
>>
>
--
Best regards,
Igor Stasenko.
Dec. 26, 2013
Re: [Pharo-dev] Transparent colors with NBOpenGL?
by Ronie Salgado
Alex,
libSDL and libSDL2 are low-level multi-media libraries designed for games.
Those libraries are best suited for basic pixel blitting, some lines and
rect in a cross platform way. Both libraries allows you to use a custom
software rendering or create a window in a cross-platform way. As for
Cairo, that's a full featured vector graphics library, practically designed
for SVG rendering. So, those two libraries cannot be compared, but I think
that Cairo can be used to render into a texture and then use SDL to display
it on screen. Actually, I don't have any experience with Cairo.
As for the VM, I was looking at his Unix platform module, suspecting that
the tearing and flickering was caused by using just XLib for blitting the
main pharo window after Milton told that those issues aren't seen in
Windows. If we add to the mix some always buggy AMD drivers, it seems that
the solution goes by rewriting the display to uses OpenGL for blitting the
main window, with VSync enabled, or using a separate native window for
OpenGL graphics.
By the way, what I found most strange about display VM code is that there's
support for creating an OpenGL context already in place, with an
accompanying -glxdebug flag, for verbose output. When I tried that option,
I didn't get any output, so I could assume that these is not used for fast
blitting under Linux.
As for SDL2, it provides all the required facilities for a VM display
module, without having to deal with X11 or platform specifics. Window
creation, multiple OpenGL context creation, clipboard handling, input
support, multi-threading, sound support, drag and drop. That version of SDL
had a strong contribution by Valve, they needed something to start pushing
heavily Linux, even the latest versions of Steam uses it.
Anyway, I am planning to discuss this matter with Igor, during my stay at
Lille.
Greetings,
Ronie Salgado
2013/12/26 Alexandre Bergel <alexandre.bergel(a)me.com>
> Ronie,
>
> You mention libSDL. Do you know how it compares with Cairo? They look
> similar, but I could not find a detailed comparison
>
> Alexandre
>
> Le 26-12-2013 à 0:12, Ronie Salgado <roniesalg(a)gmail.com> a écrit :
>
> Stef
>
> That sounds very interesting. I dream of a virtual world environment such
> as Second Life, highly dynamic and completely open source.
>
> But currently I would like to do a simple video game, with toon like
> graphic, using bullet for physics. I think that making an actual game
> development pipeline would be very interesting.
> I would not create a full level editor, modeling software because it takes
> too much time, and there is Blender which is open source and very complete.
>
> Some tasks required are as follow:
> - An easy way to make bindings for C++ libraries. For this I am going to
> start extending SWIG(http://www.swig.org/) so it can generate bindings
> for Pharo NativeBoost.
> - Bindings for the Bullet physics engine(
> http://bulletphysics.org/wordpress/) With the extensions for swig, this
> is trivial.
> - An importer for COLLADA. COLLADA is a XML based asset exchange format,
> with a wide support in different 3d model editors, such as Blender.
> - For Linux, a new VM display module is required. The current that uses
> just X11 suffers of severe tearing and flickering. I would like to make a
> display module for the VM that uses SDL2, which is a cross platform library
> that supports hardware accelerated graphics, or cross platform creation of
> an OpenGL context.
> - I think that garbage collection would require some determinism/time
> constraint or write some guidelines to avoid triggering the gargbage
> collector. When I'm testing the particles, I can see some noticeable pause,
> that I attribute to the garbage collector.
>
> Greetings,
> Ronie Salgado
>
>
> 2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>
>> Ronie
>>
>> I was talking about 3D with Igor (because Igor came to Smalltalk because
>> he wanted to use it as a game engine and built rendering
>> engine in Pascal long long time ago :).
>> So I was brainstorming to see what you could do.
>>
>> the last time alex show roassal 3D we were thinking that it would be good
>> to build a kickstarter show case on something
>> sexy (maybe bridging a physical model to 3D)â¦.
>>
>> Now what would like to build with NBOpenGL? What are your dreams and how
>> could we slice them into tasks that could be reached in a limited amount
>> of time.
>>
>> Stef
>>
>
>
Dec. 26, 2013
Re: [Pharo-dev] Transparent colors with NBOpenGL?
by Alexandre Bergel
Ronie,
You mention libSDL. Do you know how it compares with Cairo? They look similar, but I could not find a detailed comparison
Alexandre
> Le 26-12-2013 à 0:12, Ronie Salgado <roniesalg(a)gmail.com> a écrit :
>
> Stef
>
> That sounds very interesting. I dream of a virtual world environment such as Second Life, highly dynamic and completely open source.
>
> But currently I would like to do a simple video game, with toon like graphic, using bullet for physics. I think that making an actual game development pipeline would be very interesting.
> I would not create a full level editor, modeling software because it takes too much time, and there is Blender which is open source and very complete.
>
> Some tasks required are as follow:
> - An easy way to make bindings for C++ libraries. For this I am going to start extending SWIG(http://www.swig.org/) so it can generate bindings for Pharo NativeBoost.
> - Bindings for the Bullet physics engine(http://bulletphysics.org/wordpress/). With the extensions for swig, this is trivial.
> - An importer for COLLADA. COLLADA is a XML based asset exchange format, with a wide support in different 3d model editors, such as Blender.
> - For Linux, a new VM display module is required. The current that uses just X11 suffers of severe tearing and flickering. I would like to make a display module for the VM that uses SDL2, which is a cross platform library that supports hardware accelerated graphics, or cross platform creation of an OpenGL context.
> - I think that garbage collection would require some determinism/time constraint or write some guidelines to avoid triggering the gargbage collector. When I'm testing the particles, I can see some noticeable pause, that I attribute to the garbage collector.
>
> Greetings,
> Ronie Salgado
>
>
> 2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>> Ronie
>>
>> I was talking about 3D with Igor (because Igor came to Smalltalk because he wanted to use it as a game engine and built rendering
>> engine in Pascal long long time ago :).
>> So I was brainstorming to see what you could do.
>>
>> the last time alex show roassal 3D we were thinking that it would be good to build a kickstarter show case on something
>> sexy (maybe bridging a physical model to 3D)â¦.
>>
>> Now what would like to build with NBOpenGL? What are your dreams and how
>> could we slice them into tasks that could be reached in a limited amount of time.
>>
>> Stef
>
Dec. 26, 2013
Re: [Pharo-dev] Transparent colors with NBOpenGL?
by Ronie Salgado
Stef
That sounds very interesting. I dream of a virtual world environment such
as Second Life, highly dynamic and completely open source.
But currently I would like to do a simple video game, with toon like
graphic, using bullet for physics. I think that making an actual game
development pipeline would be very interesting.
I would not create a full level editor, modeling software because it takes
too much time, and there is Blender which is open source and very complete.
Some tasks required are as follow:
- An easy way to make bindings for C++ libraries. For this I am going to
start extending SWIG(http://www.swig.org/) so it can generate bindings for
Pharo NativeBoost.
- Bindings for the Bullet physics engine(http://bulletphysics.org/wordpress/).
With the extensions for swig, this is trivial.
- An importer for COLLADA. COLLADA is a XML based asset exchange format,
with a wide support in different 3d model editors, such as Blender.
- For Linux, a new VM display module is required. The current that uses
just X11 suffers of severe tearing and flickering. I would like to make a
display module for the VM that uses SDL2, which is a cross platform library
that supports hardware accelerated graphics, or cross platform creation of
an OpenGL context.
- I think that garbage collection would require some determinism/time
constraint or write some guidelines to avoid triggering the gargbage
collector. When I'm testing the particles, I can see some noticeable pause,
that I attribute to the garbage collector.
Greetings,
Ronie Salgado
2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
> Ronie
>
> I was talking about 3D with Igor (because Igor came to Smalltalk because
> he wanted to use it as a game engine and built rendering
> engine in Pascal long long time ago :).
> So I was brainstorming to see what you could do.
>
> the last time alex show roassal 3D we were thinking that it would be good
> to build a kickstarter show case on something
> sexy (maybe bridging a physical model to 3D)â¦.
>
> Now what would like to build with NBOpenGL? What are your dreams and how
> could we slice them into tasks that could be reached in a limited amount
> of time.
>
> Stef
>
Dec. 25, 2013
Re: [Pharo-dev] float printing glitch?
by Nicolas Cellier
2013/12/25 Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
>
> 2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>
>> thanks nicolas.
>> I will give a try.
>>
>>
> I just made a quick pass in Squeak, analyzed senders of roundTo: and
> modified a few whose sole intention was printing.
> This need to be redone in Pharo.
>
Ah, but Squeak has Number>>printOn:maxDecimalPlaces: and
printShowingMaxDecimalPlaces: and Stream>>print:maxDecimalPlaces:
It would be required to add those messages first.
> On 24 Dec 2013, at 18:15, Nicolas Cellier <
>> nicolas.cellier.aka.nice(a)gmail.com> wrote:
>>
>> Yes, you should change the tickPrintBlock because it probably incorrectly
>> use (aFloat roundTo: 0.1) printString.
>> There is no guaranty that this return the nearest Float to the aimed
>> decimal fraction.
>> Since this is not the nearest Float, you have additional digits displayed.
>> The print block should use a selector like printShowingDecimalPlaces:
>> (Squeak) or something equivalent in Pharo (can't remember if the selectors
>> are 100% compatible).
>>
>> For completeness, do test these expressions:
>> (0 to: 10) collect: [:i | (i/10) asFloat].
>> versus
>> (0 to: 10) collect: [:i | i*0.1].
>> versus
>> (0 to: 10) collect: [:i | (i/10) roundTo: 0.1].
>>
>> Only the first one is correct. Trying to roundTo: 0.1 spoils thing
>> because 0.1 is not exactly 1/10 and thus introduce small errors...
>>
>>
>> 2013/12/24 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>>
>>> Hi (nicolas :))
>>>
>>> I was fixing the sound package and the EnvelopeEditorMorph shows a
>>> strange glitch
>>>
>>> EnvelopeEditorMorph openOn: (FMSound brass1) copy title: 'brass1'
>>>
>>> See ^^^^^^^^^^^^^^^^ below
>>>
>>> I have the impression that this related to float printString. Any idea
>>> how to fix it?
>>>
>>>
>>>
>>>
>>>
>>> buildLabels
>>> | scale x1 y1 y2 captionMorph loopStart offset |
>>> majorTickLength * minorTickLength < 0
>>> ifTrue: [ minorTickLength := 0 - minorTickLength ].
>>> self removeAllMorphs.
>>> caption ifNotNil:
>>> [ captionMorph := StringMorph contents: caption.
>>> offset := captionAbove
>>> ifTrue: [majorTickLength abs + captionMorph
>>> height + 7]
>>> ifFalse: [2].
>>> captionMorph
>>> align: captionMorph bounds bottomCenter
>>> with: self bounds bottomCenter - (0 @ offset).
>>> self addMorph: captionMorph].
>>> tickPrintBlock ifNotNil:
>>> ["Calculate the offset for the labels, depending
>>> on whether or not
>>> 1) there's a caption
>>> below, 2) the labels are above or below the
>>> ticks, and 3) the
>>> ticks go up or down"
>>> offset := labelsAbove
>>> ifTrue: [majorTickLength abs +
>>> minorTickLength abs + 2]
>>> ifFalse: [2].
>>> caption
>>> ifNotNil: [captionAbove ifFalse: [offset
>>> := offset + captionMorph height + 2]].
>>> scale := (self innerBounds width - 1) / (stop -
>>> start) asFloat.
>>> x1 := self innerBounds left.
>>> y1 := self innerBounds bottom.
>>> y2 := y1 - offset.
>>> "Start loop on multiple of majorTick"
>>> loopStart := (start / majorTick) ceiling *
>>> majorTick.
>>> loopStart to: stop
>>> by: majorTick
>>> do:
>>> [ :v | | x tickMorph |
>>> x := x1 + (scale * (v - start)).
>>> tickMorph := StringMorph
>>> contents: (tickPrintBlock value: v).
>>>
>>> ^^^^^^^^^^^^^^^^ printString?
>>>
>>> tickMorph align: tickMorph
>>> bounds bottomCenter with: x @ y2.
>>> tickMorph left < self left
>>> ifTrue: [ tickMorph
>>> position: self left @ tickMorph top ].
>>> tickMorph right > self right
>>> ifTrue: [ tickMorph
>>> position: (self right - tickMorph width) @ tickMorph top].
>>> self addMorph: tickMorph ]]
>>>
>>
>>
>>
>
Dec. 25, 2013
Re: [Pharo-dev] float printing glitch?
by Nicolas Cellier
2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
> thanks nicolas.
> I will give a try.
>
>
I just made a quick pass in Squeak, analyzed senders of roundTo: and
modified a few whose sole intention was printing.
This need to be redone in Pharo.
On 24 Dec 2013, at 18:15, Nicolas Cellier <
> nicolas.cellier.aka.nice(a)gmail.com> wrote:
>
> Yes, you should change the tickPrintBlock because it probably incorrectly
> use (aFloat roundTo: 0.1) printString.
> There is no guaranty that this return the nearest Float to the aimed
> decimal fraction.
> Since this is not the nearest Float, you have additional digits displayed.
> The print block should use a selector like printShowingDecimalPlaces:
> (Squeak) or something equivalent in Pharo (can't remember if the selectors
> are 100% compatible).
>
> For completeness, do test these expressions:
> (0 to: 10) collect: [:i | (i/10) asFloat].
> versus
> (0 to: 10) collect: [:i | i*0.1].
> versus
> (0 to: 10) collect: [:i | (i/10) roundTo: 0.1].
>
> Only the first one is correct. Trying to roundTo: 0.1 spoils thing because
> 0.1 is not exactly 1/10 and thus introduce small errors...
>
>
> 2013/12/24 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>
>> Hi (nicolas :))
>>
>> I was fixing the sound package and the EnvelopeEditorMorph shows a
>> strange glitch
>>
>> EnvelopeEditorMorph openOn: (FMSound brass1) copy title: 'brass1'
>>
>> See ^^^^^^^^^^^^^^^^ below
>>
>> I have the impression that this related to float printString. Any idea
>> how to fix it?
>>
>>
>>
>>
>>
>> buildLabels
>> | scale x1 y1 y2 captionMorph loopStart offset |
>> majorTickLength * minorTickLength < 0
>> ifTrue: [ minorTickLength := 0 - minorTickLength ].
>> self removeAllMorphs.
>> caption ifNotNil:
>> [ captionMorph := StringMorph contents: caption.
>> offset := captionAbove
>> ifTrue: [majorTickLength abs + captionMorph
>> height + 7]
>> ifFalse: [2].
>> captionMorph
>> align: captionMorph bounds bottomCenter
>> with: self bounds bottomCenter - (0 @ offset).
>> self addMorph: captionMorph].
>> tickPrintBlock ifNotNil:
>> ["Calculate the offset for the labels, depending
>> on whether or not
>> 1) there's a caption
>> below, 2) the labels are above or below the
>> ticks, and 3) the
>> ticks go up or down"
>> offset := labelsAbove
>> ifTrue: [majorTickLength abs +
>> minorTickLength abs + 2]
>> ifFalse: [2].
>> caption
>> ifNotNil: [captionAbove ifFalse: [offset
>> := offset + captionMorph height + 2]].
>> scale := (self innerBounds width - 1) / (stop -
>> start) asFloat.
>> x1 := self innerBounds left.
>> y1 := self innerBounds bottom.
>> y2 := y1 - offset.
>> "Start loop on multiple of majorTick"
>> loopStart := (start / majorTick) ceiling *
>> majorTick.
>> loopStart to: stop
>> by: majorTick
>> do:
>> [ :v | | x tickMorph |
>> x := x1 + (scale * (v - start)).
>> tickMorph := StringMorph
>> contents: (tickPrintBlock value: v).
>>
>> ^^^^^^^^^^^^^^^^ printString?
>>
>> tickMorph align: tickMorph bounds
>> bottomCenter with: x @ y2.
>> tickMorph left < self left
>> ifTrue: [ tickMorph
>> position: self left @ tickMorph top ].
>> tickMorph right > self right
>> ifTrue: [ tickMorph
>> position: (self right - tickMorph width) @ tickMorph top].
>> self addMorph: tickMorph ]]
>>
>
>
>
Dec. 25, 2013
Re: [Pharo-dev] PackageTreeNautilus (undestroyable?)
by Esteban Lorenzano
On 25 Dec 2013, at 22:40, Stéphane Ducasse <stephane.ducasse(a)inria.fr> wrote:
> Hi esteban
>
> so is it a bug or not?
it is
> I do not like having all these announcement hanging around. In Pharo 40 we should also revisit the announcer subclasses.
>
> Stef
> On 20 Dec 2013, at 16:07, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>
>> yeah, I call him âthe willisâ :)
>>
>> On 19 Dec 2013, at 22:25, Nicolai Hess <nicolaihess(a)web.de> wrote:
>>
>>> Hi,
>>>
>>> I recently noticed a awful big number of Announcer instances (thousends).
>>> I traced them back to PackageTreeNautilus. I closed the unsaved image
>>> and reopened pharo.
>>> I couldn't reproduce this but found out, that if you opened Nautilus once,
>>> there will allways be one instance of PackageTreeNautilus
>>> even if you close all windows.
>>>
>>> How to reproduce:
>>> Load a freshly image.
>>>
>>> Announcer allInstances size.-> 155
>>> PackageTreeNautilus allInstances size. -> 0
>>>
>>> Open and close Nautilus.
>>>
>>> SmalltalkImage current garbageCollect.
>>> Announcer allInstances size. -> 1261
>>> PackageTreeNautilus allInstances size. -> 1
>>>
>>> This instance of PackageTreeNautilus won't go away.
>>> Is this intended?
>>>
>>>
>>> Nicolai
>>
>>
>
>
Dec. 25, 2013