A new version of Installer-Core was added to project The Inbox:
http://source.squeak.org/inbox/Installer-Core-ct.441.mcz
==================== Summary ====================
Name: Installer-Core-ct.441
Author: ct
Time: 3 October 2021, 3:46:11.734874 pm
UUID: 83088378-3d26-e946-b7e2-8f1cf03c3717
Ancestors: Installer-Core-mt.440
Extend documentation of Installer on how to install packages that are defined under the package-definitions category.
=============== Diff against Installer-Core-mt.440 ===============
Item was changed:
Object subclass: #Installer
instanceVariableNames: 'answers packages messagesToSuppress useFileIn noiseLevel'
classVariableNames: 'InstallerBindings IsSetToTrapErrors Repositories SkipLoadingTests ValidationBlock'
poolDictionaries: ''
category: 'Installer-Core'!
Installer class
instanceVariableNames: 'localRepository'!
+ !Installer commentStamp: 'ct 10/3/2021 15:45' prior: 0!
- !Installer commentStamp: 'tpr 8/25/2019 18:37' prior: 0!
Installer is a mechanism for listing, examining and installing software from a variety of sources. It is intended to help in building install scripts for package setups etc.
Currently it can use
- files; a file specified by a filename. Relative filenames will be treated as based form the current default directory. See InstallerFile.
- urls; a file specified by a url or a script embedded in a webpage. See InstallerWeb.
- squeakmap; see InstallerSqueakMap
- monticello; by ftp or http access, or a local directory, or a Magma or GOODS database. There is a list of shortcuts to popular repositories in this class protocol 'repositories'. See InstallerMonticello.
- mantis; accessing code attached to a mantis bug report. See InstallerMantis.
Simple example usages -
+ Installer new merge: #osProcess.
Installer squeakmap install: 'DynamicBindings'.
Installer squeakmap search: '*scratch'.
Installer squeakmap search: 'author:*rowledge'.
Installer squeaksource project: 'ss2'; install: 'TinyWiki'.
Installer ss project: 'Installer'; browse: 'Installer-Core'.
useFileIn - flag to load source.st rather than using Monticello!
Installer class
instanceVariableNames: 'localRepository'!
A new version of MorphicExtras was added to project The Inbox:
http://source.squeak.org/inbox/MorphicExtras-ct.299.mcz
==================== Summary ====================
Name: MorphicExtras-ct.299
Author: ct
Time: 3 October 2021, 3:39:23.706874 pm
UUID: 771933d3-7bec-9346-aa54-c4549fa6ae87
Ancestors: MorphicExtras-ul.298
Adds FrameRateMorph to the 'Tools' category of the parts bin. I seriously use this morph for performance measuring.
=============== Diff against MorphicExtras-ul.298 ===============
Item was changed:
----- Method: FrameRateMorph class>>descriptionForPartsBin (in category 'parts bin') -----
descriptionForPartsBin
^ self partName: 'FrameRate' translatedNoop
+ categories: {'Just for Fun' translatedNoop. 'Tools' translatedNoop}
- categories: {'Just for Fun' translatedNoop}
documentation: 'A readout that allows you to monitor the frame rate of your system' translatedNoop!
A new version of Sound was added to project The Inbox:
http://source.squeak.org/inbox/Sound-ct.82.mcz
==================== Summary ====================
Name: Sound-ct.82
Author: ct
Time: 3 October 2021, 3:21:00.283874 pm
UUID: 61a3c1d0-1c49-d542-8624-096b1b67e309
Ancestors: Sound-eem.81
Fixes SoundRecorder accesses to CanRecordWhilePlaying by always using the preference getter. As the class variable is nil in current Trunk images, you could not even open the Multimedia category in the parts bin before.
Removes the initialization of CanRecordWhilePlaying to support lazy default values from the preference getter. Also, this initialize method apparently has never been called in the current Trunk image.
=============== Diff against Sound-eem.81 ===============
Item was removed:
- ----- Method: SoundRecorder class>>initialize (in category 'class initialization') -----
- initialize
- "SoundRecorder initialize"
- "Details: Some computers cannot record and playback sound at the same time. If CanRecordWhilePlaying is false, then the SoundRecorder alternates between recording and playing. If it is true, sounds can be playing during recording."
-
- CanRecordWhilePlaying := false.
- !
Item was changed:
----- Method: SoundRecorder>>pause (in category 'recording controls') -----
pause
"Go into pause mode. The record level continues to be updated, but no sound is recorded."
paused := true.
((currentBuffer ~~ nil) and: [nextIndex > 1])
ifTrue: [self emitPartialBuffer.
self allocateBuffer].
soundPlaying ifNotNil: [
soundPlaying pause.
soundPlaying := nil].
"Note: there can be problems if canRecordWhilePlaying is true. Recorders which only pause will inhibit other recorders from recording. I chose to make #stopPlaying unconditional in a subclass. The same might be appropriate here at the expense of making recorders resumable"
+ self class canRecordWhilePlaying ifFalse: [self stopRecording].!
- CanRecordWhilePlaying ifFalse: [self stopRecording].
- !
Item was changed:
----- Method: SoundRecorder>>resumeRecording (in category 'recording controls') -----
resumeRecording
"Continue recording from the point at which it was last paused."
self flag: #bob.
"Note: If canRecordWhilePlaying is true, then recordings may never get started (at least by this method). One possibility, used in a subclass, is to make the #startPlaying unconditional. Another would be to use #startPlaying instead of #resumePlaying in appropriate cases"
+ self class canRecordWhilePlaying ifFalse: [self startRecording].
- CanRecordWhilePlaying ifFalse: [self startRecording].
paused := false.
!
Item was changed:
----- Method: SoundRecorder>>startRecording (in category 'recording controls') -----
startRecording
"Turn on the sound input driver and start the recording process. Initially, recording is paused.
If the primStartRecordingDesiredSampleRate:... fails it almost certainly means we have no usable
sound input device. Rather than having the prim raise a failure error we let it quietly do nothing
(since I hate trying to debug errors inside a critical block) and check the actual sampling rate later.
If the sampling rate is 0 we know the startup failed and raise an application level Signal to let any
user code know about the problem.
You might think we should also use the stopRecording message to close things down cleanly but
that simply results in astorm of attempts to start recording so it is simpler to let it be deluded. An
attempts to start recording will repeat the test and thereby handle any plug-in hardware etc."
recordLevel ifNil: [recordLevel := 0.5]. "lazy initialization"
+ self class canRecordWhilePlaying ifFalse: [SoundPlayer shutDown: true].
- CanRecordWhilePlaying ifFalse: [SoundPlayer shutDown: true].
recordProcess ifNotNil: [self stopRecording].
paused := true.
meteringBuffer := SoundBuffer newMonoSampleCount: 1024.
meterLevel := 0.
self allocateBuffer.
Smalltalk newExternalSemaphoreDo: [ :semaphore :index |
bufferAvailableSema := semaphore.
self primStartRecordingDesiredSampleRate: samplingRate asInteger
stereo: stereo
semaIndex: index ].
RecorderActive := true.
samplingRate := self primGetActualRecordingSampleRate.
samplingRate = 0 ifTrue: [ Warning signal: 'SoundRecorder: unable to connect to sound input device'].
self primSetRecordLevel: (1000.0 * recordLevel) asInteger.
recordProcess := [self recordLoop] newProcess.
recordProcess priority: Processor userInterruptPriority.
recordProcess resume!
A new version of System was added to project The Inbox:
http://source.squeak.org/inbox/System-ct.1242.mcz
==================== Summary ====================
Name: System-ct.1242
Author: ct
Time: 3 October 2021, 3:03:42.480874 pm
UUID: 65b8dbdb-0855-2440-bec4-b96c5d72468a
Ancestors: System-mt.1241
Adds missing standard query to Preferences.
=============== Diff against System-mt.1241 ===============
Item was added:
+ ----- Method: Preferences class>>allowEtoyUserCustomEvents (in category 'standard queries') -----
+ allowEtoyUserCustomEvents
+ ^ self
+ valueOfFlag: #allowEtoyUserCustomEvents
+ ifAbsent: [false]!
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1416.mcz
==================== Summary ====================
Name: Kernel-eem.1416
Author: eem
Time: 1 October 2021, 2:37:05.661504 pm
UUID: 2b78c119-0d77-4333-a40c-efd59f951f13
Ancestors: Kernel-ul.1415
No point wasting time with the isFinite check in fromIEEE64Bit:; multipying nan or infinity by 1.0 yields teh same result. So save time by always multiplying by 1.0
=============== Diff against Kernel-ul.1415 ===============
Item was changed:
----- Method: Float class>>fromIEEE64Bit: (in category 'instance creation') -----
fromIEEE64Bit: anInteger
"Convert the given 64 bit word (which is supposed to be a positive 64-bit value) from
a 64 bit IEEE floating point representation into an actual Squeak float object (being
64 bits wide). Should only be used for conversion in FloatArrays or likewise objects."
| value |
value := self basicNew: 2.
value
basicAt: 1 put: (anInteger bitShift: -32);
basicAt: 2 put: (anInteger bitAnd: 16rFFFFFFFF).
+ ^value * 1.0 "reduce to SmallFloat64 if possible"!
- ^value isFinite
- ifTrue: [value * 1.0] "reduce to SmallFloat64 if possible"
- ifFalse: [value]!
Still getting the error via Monticello.
I can log into squeaksource just fine with my browser.
I have a pharo image and I was able to open the repo with it.
Is there something in squeak I need to clear?
cheers
t