MCPcopy Create free account
hub / github.com/TimMcCool/scratchattach / Sound

Class Sound

scratchattach/editor/asset.py:228–265  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

226
227
228class Sound(Asset):
229 def __init__(self,
230 name: str = "pop",
231 file_name: str = "83a9787d4cb6f3b7632b4ddfebf74367.wav",
232
233 rate: Optional[int] = None,
234 sample_count: Optional[int] = None,
235 _sprite: sprite.Sprite = build_defaulting.SPRITE_DEFAULT):
236 """
237 A sound. An asset with additional properties
238 https://en.scratch-wiki.info/wiki/Scratch_File_Format#Sounds
239 """
240 super().__init__(name, file_name, _sprite)
241
242 self.rate = rate
243 self.sample_count = sample_count
244
245 @staticmethod
246 def from_json(data):
247 """
248 Load sound from project.json
249 """
250 _asset_load = Asset.from_json(data)
251
252 rate = data.get("rate")
253 sample_count = data.get("sampleCount")
254 return Sound(_asset_load.name, _asset_load.file_name, rate, sample_count)
255
256 def to_json(self) -> dict:
257 """
258 Convert Sound to project.json format
259 """
260 _json = super().to_json()
261 commons.noneless_update(_json, {
262 "rate": self.rate,
263 "sampleCount": self.sample_count
264 })
265 return _json

Callers 1

from_jsonMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected