The Engine
How It All Works
This isn't a collection of separate scripts. Oddonomy is powered by a central, complex, and reusable C++ software engine. Here's a look under the hood.
The "Oddonomy Core" Architecture
Think of the "Oddonomy Core" as a foundational software library or a car's chassis. It's the powerful, reusable heart of the system, providing all the foundational logic for generating graphics, sound, and animations. Each content channel (like Oddonomous Space or Sleep) is like a different specialist program that utilizes this shared engine. It links to the core and adds its own "Independent Files"—its unique autonomous program—to create a specific type of video.
Architectural Diagram
A Glimpse of Scale
While the source code is private, this gives a sense of the components inside the Oddonomy Core.
- AxisManager.cpp
- AxisManager.h
- Background_DeepSpace.cpp
- Background_DeepSpace.h
- ColourClass.cpp
- ColourClass.h
- CoordinateSet.cpp
- CoordinateSet.h
- CoordinateValue.cpp
- CoordinateValue.h
- DarkBackground.cpp
- DarkBackground.h
- Dice6.cpp
- Dice6.h
- DrawWord.cpp
- DrawWord.h
- drawingStar.cpp
- drawingStar.h
- drawingStarField.cpp
- drawingStarField.h
- EndScreenGraphicsObject.cpp
- EndScreenGraphicsObject.h
- FrameCreator.cpp
- FrameCreator.h
- FramesCreator.cpp
- FramesCreator.h
- I3DObject.cpp
- I3DObject.h
- IBackground.cpp
- IBackground.h
- IFrameGenerator.cpp
- IFrameGenerator.h
- IGraphicsObject.cpp
- IGraphicsObject.h
- ITextStyle.cpp
- ITextStyle.h
- ITimer.cpp
- ITimer.h
- IconChannelMapper.cpp
- IconChannelMapper.h
- Logger.cpp
- Logger.h
- MappingMask.cpp
- MappingMask.h
- MappingMaskColumn.cpp
- MappingMaskColumn.h
- MappingMaskPoint.cpp
- MappingMaskPoint.h
- MappingMaskRow.cpp
- MappingMaskRow.h
- moonMask.cpp
- moonMask.h
- MovementCoordinator.cpp
- MovementCoordinator.h
- MusicPattern.cpp
- MusicPattern.h
- MusicSequence.cpp
- MusicSequence.h
- OutsideSceneBackground.cpp
- OutsideSceneBackground.h
- Pen.cpp
- Pen.h
- PictureCache.cpp
- PictureCache.h
- PictureCacheDraw.cpp
- PictureCacheDraw.h
- PictureCacheLine.cpp
- PictureCacheLine.h
- PlotGrid.cpp
- PlotGrid.h
- PlotGridElement.cpp
- PlotGridElement.h
- QuantaSound.cpp
- QuantaSound.h
- Scene_EarthSky.cpp
- Scene_EarthSky.h
- Song.cpp
- Song.h
- Sound.cpp
- Sound.h
- SoundChannel.cpp
- SoundChannel.h
- SoundGenerator.cpp
- SoundGenerator.h
- SoundSequence.cpp
- SoundSequence.h
- Speech.cpp
- Speech.h
- SpeechSound.cpp
- SpeechSound.h
- StarData.cpp
- StarData.h
- StaticSound.cpp
- StaticSound.h
- StatisticsEngine.cpp
- StatisticsEngine.h
- TextStyle_BubbleFont.cpp
- TextStyle_CheckerFont.cpp
- TextStyle_CurvedSerifFont.cpp
- TextStyle_DiamondFont.cpp
- TextStyle_DownTriangleFont.cpp
- TextStyle_JaggedFont.cpp
- TextStyle_ScriptFont.cpp
- TextStyle_SerifFont.cpp
- TextStyle_SineFont.cpp
- TextStyle_SlantedFont.cpp
- TextStyle_SmoothFont.cpp
- TextStyle_SquareFont.cpp
- TextStyle_ThornFont.cpp
- TextStyle_UpTriangleFont.cpp
- TimerSchedule.cpp
- TimerSchedule.h
- WordEngine.cpp
- WordEngine.h
- WordGenerator.cpp
- WordGenerator.h
- XAxis.cpp
- XAxis.h
- YAxis.cpp
- YAxis.h
- ZAxis.cpp
- ZAxis.h
- spa.c
- spa.h
- AxisManager.cpp
- AxisManager.h
- Background_DeepSpace.cpp
- Background_DeepSpace.h
- ColourClass.cpp
- ColourClass.h
- CoordinateSet.cpp
- CoordinateSet.h
- CoordinateValue.cpp
- CoordinateValue.h
- DarkBackground.cpp
- DarkBackground.h
- Dice6.cpp
- Dice6.h
- DrawWord.cpp
- DrawWord.h
- drawingStar.cpp
- drawingStar.h
- drawingStarField.cpp
- drawingStarField.h
- EndScreenGraphicsObject.cpp
- EndScreenGraphicsObject.h
- FrameCreator.cpp
- FrameCreator.h
- FramesCreator.cpp
- FramesCreator.h
- I3DObject.cpp
- I3DObject.h
- IBackground.cpp
- IBackground.h
- IFrameGenerator.cpp
- IFrameGenerator.h
- IGraphicsObject.cpp
- IGraphicsObject.h
- ITextStyle.cpp
- ITextStyle.h
- ITimer.cpp
- ITimer.h
- IconChannelMapper.cpp
- IconChannelMapper.h
- Logger.cpp
- Logger.h
- MappingMask.cpp
- MappingMask.h
- MappingMaskColumn.cpp
- MappingMaskColumn.h
- MappingMaskPoint.cpp
- MappingMaskPoint.h
- MappingMaskRow.cpp
- MappingMaskRow.h
- moonMask.cpp
- moonMask.h
- MovementCoordinator.cpp
- MovementCoordinator.h
- MusicPattern.cpp
- MusicPattern.h
- MusicSequence.cpp
- MusicSequence.h
- OutsideSceneBackground.cpp
- OutsideSceneBackground.h
- Pen.cpp
- Pen.h
- PictureCache.cpp
- PictureCache.h
- PictureCacheDraw.cpp
- PictureCacheDraw.h
- PictureCacheLine.cpp
- PictureCacheLine.h
- PlotGrid.cpp
- PlotGrid.h
- PlotGridElement.cpp
- PlotGridElement.h
- QuantaSound.cpp
- QuantaSound.h
- Scene_EarthSky.cpp
- Scene_EarthSky.h
- Song.cpp
- Song.h
- Sound.cpp
- Sound.h
- SoundChannel.cpp
- SoundChannel.h
- SoundGenerator.cpp
- SoundGenerator.h
- SoundSequence.cpp
- SoundSequence.h
- Speech.cpp
- Speech.h
- SpeechSound.cpp
- SpeechSound.h
- StarData.cpp
- StarData.h
- StaticSound.cpp
- StaticSound.h
- StatisticsEngine.cpp
- StatisticsEngine.h
- TextStyle_BubbleFont.cpp
- TextStyle_CheckerFont.cpp
- TextStyle_CurvedSerifFont.cpp
- TextStyle_DiamondFont.cpp
- TextStyle_DownTriangleFont.cpp
- TextStyle_JaggedFont.cpp
- TextStyle_ScriptFont.cpp
- TextStyle_SerifFont.cpp
- TextStyle_SineFont.cpp
- TextStyle_SlantedFont.cpp
- TextStyle_SmoothFont.cpp
- TextStyle_SquareFont.cpp
- TextStyle_ThornFont.cpp
- TextStyle_UpTriangleFont.cpp
- TimerSchedule.cpp
- TimerSchedule.h
- WordEngine.cpp
- WordEngine.h
- WordGenerator.cpp
- WordGenerator.h
- XAxis.cpp
- XAxis.h
- YAxis.cpp
- YAxis.h
- ZAxis.cpp
- ZAxis.h
- spa.c
- spa.h