Skip to main content

nativemind_sound 1.0.0 copy "nativemind_sound: ^1.0.0" to clipboard
nativemind_sound: ^1.0.0 copied to clipboard

Sound-healing widgets of NativeMind from handmade code: Pavlo Matvienko's play button and preset selector (2021), Anton Dodonov's iScillator selectors, search screen, pages and navigation (2021–22), e [...]

nativemind_sound #

Sound-healing widgets of NativeMind made from handmade code (written without AI):

  • Pavlo Matvienko (aka Crazy8), 2021-11-02 — NmPlayButton, NmSelectPresetButton, NmPresetWindow;
  • Anton Dodonov, 2021–22 (iScillator) — NmSelectButton, NmSelectWindow, NmSelectScreen, nmFrequencySection, nmDouble2Str, nmMyBottomNavigationBar, nmMainAppBar / nmMainTitle, nmMainBody, nmIfSelect / nmPage*, nmL108t / nmL108o.

Every class, function and method carries its author line; the origin of each file is in PROVENANCE.md.

How it fits together #

  • Editions come from configuration (Anton's keys title, pages, select, defaults, forces, visible, gradient*, forecolor*) through NmConfigs of nativemind_core.
  • NmGlobals is the state of one screen with Anton's globals.dart names; the carried widgets read it from the nearest NmSoundScope (no global state). Colors an edition does not set are filled in (pro / lite / dev crashed on forecolor before).
  • NmSoundScope owns the PageController and the frequency timer (both disposed) and drives an NmSoundEngine — the widgets never call a plugin. NmSoundGeneratorEngine of nativemind_sound_generator is the Android/iOS implementation.
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),
    ),
  )),
);

Program lists and their translations (select.program, l108) are app data and are not part of this package.

Screens (documentation goldens, no Figma for sound) #

vl pro lite dev
[vl] [pro] [lite] [dev]

Search screen: [select] · Pavlo's preset window: [preset]

Known (authors' layout, kept): the pages sit in a 300-px box, so three selectors (pro) overflow by 124 px (debug stripes in the golden); the list windows draw ListTiles on a colored Container (debug diagnostic only).

License #

NativeMind NONC (see LICENSE). Handmade code of NativeMind people; see NOTICE.

0
likes
130
points
115
downloads

Documentation

API reference

Publisher

verified publisherframework.nativemind.net

Weekly Downloads

Sound-healing widgets of NativeMind from handmade code: Pavlo Matvienko's play button and preset selector (2021), Anton Dodonov's iScillator selectors, search screen, pages and navigation (2021–22), editions from configuration (NmConfigs of nativemind_core) and the NmSoundEngine port. Pure Flutter, no plugins.

Homepage

License

unknown (license)

Dependencies

flutter, nativemind_core

More

Packages that depend on nativemind_sound