nativemind_sound
Sound-healing widgets of the NativeMind framework made from handmade code (written without AI): the SoundHealer /
iScillator screens of 2021–22 — play button, preset window, selectors, search screen, pages, bottom navigation, app bar
and the frequency section. The tone itself comes through the NmSoundEngine port; nativemind_sound_generator is the
Android / iOS implementation.
Install
dependencies:
nativemind_sound: ^1.0.0
nativemind_sound_generator: ^1.1.0 # the engine (optional: any NmSoundEngine works)
import 'package:nativemind_core/nativemind_core.dart';
import 'package:nativemind_sound/nativemind_sound.dart';
import 'package:nativemind_sound_generator/nativemind_sound_generator.dart';
final edition = NmConfigs(myConfigs).current(); // --dart-define=NM_EDITION=com.soundhealer.pro
final globals = NmGlobals.fromConfig(edition, translations: myProgramNames, onChanged: save);
MaterialApp(
builder: (context, child) => NmSoundScope(globals: globals, engine: NmSoundGeneratorEngine(), child: child!),
home: Builder(builder: (context) => Scaffold(
appBar: nmMainAppBar(context),
bottomNavigationBar: nmMyBottomNavigationBar(context),
body: Container(
decoration: BoxDecoration(gradient: NmGlobals.of(context).config['gradient']),
child: nmMainBody(context),
),
)),
);
How it fits together
- Editions come from configuration (Anton's keys
title,pages,select,defaults,forces,visible,gradient*,forecolor*, optionalpageHeight) throughNmConfigsofnativemind_core. NmGlobalsis the state of one screen with Anton'sglobals.dartnames; the carried widgets read it from the nearestNmSoundScope(no global state). Colors an edition does not set are filled in (pro / lite / dev crashed onforecolorbefore).NmSoundScopeowns thePageControllerand the frequency timer (both disposed) and drives anNmSoundEngine— the widgets never call a plugin.- Program lists and their translations (
select.program,l108) are app data and are not part of this package. - Moving an app's own copies of these components to the package: doc/migration-1.0.md.
Screens (documentation goldens, no Figma for sound)
| vl | pro | lite | dev |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Search screen:
· Pavlo's preset window: 
Known (authors' layout, kept): the pages sit in a 300-px box, so three selectors (pro) overflow by 124 px unless the
edition sets "pageHeight" (debug stripes in the golden; iScillator's pro edition uses 424); the list windows draw
ListTiles on a colored Container (debug diagnostic only).
Handmade authors
71 % of lib/ is their code (894 of 1 262 lines; the rest is the NmGlobals / NmSoundScope / NmSoundEngine
adapter by Claude Code). Every class, function and method carries its author line (PROVENANCE.md).
| Author | Role | In this package |
|---|---|---|
| Pavlo Matvienko (aka Crazy8) | freelance developer, started SoundHealer (2021-11-02) | NmPlayButton, NmSelectPresetButton, NmPresetWindow; the frames of NmSelectButton / NmSelectWindow |
| Anton Dodonov | founder and CTO; continued SoundHealer as iScillator (2021-11 … 2022-03) | NmSelectButton, NmSelectWindow, NmSelectScreen, nmFrequencySection, nmDouble2Str, nmMyBottomNavigationBar, nmMainAppBar / nmMainTitle, nmMainBody, nmIfSelect / nmPage*, nmL108t / nmL108o; the editions mechanism |
«Without AI» for both is confirmed by the CTO (2026-10-13). There is no Figma for the sound screens; the goldens above are the reference.
Links
- pub.dev: nativemind_sound · publisher framework.nativemind.net
- Source: gitlab.com/nativemind/widgets.nativemind.net,
flutter/nativemind_sound· used by iScillator (refactoring.nativemind.net/iscillator_new) - CHANGELOG.md · doc/migration-1.0.md · PROVENANCE.md · NOTICE
License
NativeMindNONC (see LICENSE), as the whole NativeMind framework. Handmade code of NativeMind people; see NOTICE.
Libraries
- nativemind_sound
- Sound-healing widgets from handmade code (Pavlo Matvienko 2021, Anton Dodonov 2021–22), the NmGlobals adapter, NmSoundScope and the NmSoundEngine port. See PROVENANCE.md for the origin of every file.



