Initial commit: InTono — app KMP per l'apprendimento musicale

App Kotlin Multiplatform (Android/iOS/Desktop) con Compose Multiplatform:
controllo intonazione (YIN), pratica guidata, metronomo, ear training,
sfide, scansione spartiti via AI, spartiti bundled e pentagramma con
glifi tipografici, travature, battute e spaziatura proporzionale.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
lucianoandClaude Fable 5 committed 2026-07-22 10:06:59 +02:00
commit 21ad969b10
245 files changed
+28963

No files matched your search

+52
View File
@@ -0,0 +1,52 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.compose.multiplatform)
alias(libs.plugins.kotlin.compose)
}
kotlin {
jvm("desktop") {
compilations.all {
kotlinOptions {
jvmTarget = "17"
}
}
}
sourceSets {
val desktopMain by getting {
dependencies {
implementation(project(":shared"))
implementation(compose.desktop.currentOs)
implementation(compose.material3)
implementation(compose.foundation)
implementation(compose.runtime)
}
}
}
}
compose.desktop {
application {
mainClass = "com.notemusicali.MainKt"
nativeDistributions {
targetFormats(
org.jetbrains.compose.desktop.application.dsl.TargetFormat.Dmg,
org.jetbrains.compose.desktop.application.dsl.TargetFormat.Msi,
org.jetbrains.compose.desktop.application.dsl.TargetFormat.Deb,
)
packageName = "InTono"
packageVersion = "1.0.0"
macOS {
infoPlist {
extraKeysRawXml = """
<key>NSMicrophoneUsageDescription</key>
<string>InTono ha bisogno del microfono per rilevare le note musicali suonate</string>
"""
}
}
}
}
}
@@ -0,0 +1,29 @@
package com.notemusicali
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
import androidx.compose.ui.window.rememberWindowState
import com.notemusicali.navigation.AppNavigation
import com.notemusicali.ui.theme.NoteMusicaliTheme
fun main() = application {
Window(
onCloseRequest = ::exitApplication,
title = "InTono",
state = rememberWindowState(width = 1024.dp, height = 768.dp),
) {
NoteMusicaliTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background,
) {
AppNavigation()
}
}
}
}