45 Commits

Author SHA1 Message Date
ed0b76dc06 Update to version 2.2.0-alpha-5 and adjust octave display logic in KeyboardComponent 2025-06-15 13:16:23 +02:00
7c87274a04 Update to version 2.2.0-alpha-4 and bump kotlin-komponent to 1.2.8 2025-06-12 19:48:27 +02:00
5da8424c40 Remove KeyboardInputComponent and add file upload and WebSocket support
Deleted unused `KeyboardInputComponent`. Added file upload functionality to `MainView` with WebSocket event handling. Introduced `WebsocketClient` class for managing server connection and file transmission. Enhanced `KeyboardComponent` with configurable key rounding. Updated `WebsocketHandler` for improved binary message handling and storage.
2025-06-10 21:08:00 +02:00
8ee8f17f96 Refactor WebsocketHandler into a standalone class file 2025-06-10 20:08:28 +02:00
0bdaa5c94f Add binary file handling with hash-based storage and retrieval
Introduced hash-based storage for binary files in `RequestHandler`, with subdirectory organization. Added methods for creating hashes, saving, and retrieving files. Enabled binary file transmission via WebSocket commands. Updated `Settings` to support configurable data directory.
2025-06-10 20:07:11 +02:00
3746ced387 Refactor SampleEntity to BinaryEntity and update related files and queries 2025-06-10 19:46:19 +02:00
4d7c46093c Update package declarations for SampleEntity files
Standardized package paths in `SampleEntity`, `SampleEntityQueryProvider`, and `SampleDao` from `nl.astraeus.vst.chip.db` to `nl.astraeus.vst.base.db`.
2025-06-10 19:35:10 +02:00
2871697329 Update to version 2.2.0-alpha-2 and add database query provider
Bumped project version to `2.2.0-alpha-2` in `build.gradle.kts`. Introduced `SampleEntity`, `SamplePartEntity`, and `SampleEntityQueryProvider` for database handling. Added `SampleDao` with a sample query function. Updated SVG utilities with a `viewbox` extension and enhanced `RequestHandler` to set content type for HTML responses.
2025-06-09 14:06:17 +02:00
c1f756eb79 Update to version 2.1.2 in build.gradle.kts 2025-06-07 13:21:18 +02:00
1d02a6ee16 Refactor KeyboardComponent to use immutable state for octave and pressed notes
Replaced mutable state with an immutable `KeyboardState` data class to track octave and pressed notes. Updated state management logic with functional updates for improved consistency and immutability. Simplified note handling and rendering to reference the unified state object.
2025-06-07 13:12:03 +02:00
9c9962d7db Refactor KeyboardComponent key rendering logic
Extracted white and black key rendering into separate `renderWhiteKeys` and `renderBlackKeys` functions for improved readability and modularity. Simplified drawing logic by delegating key rendering to these helper functions.
2025-06-07 11:57:17 +02:00
5c16b57ae9 Refactor KeyboardComponent with constants for note and key handling
Replaced hardcoded values for octaves, keys, and dimensions with named constants for improved readability and maintainability. Simplified calculations and loops using these constants. Enhanced clarity in key rendering and MIDI note calculations.
2025-06-07 11:39:21 +02:00
9ab909cf6c Refactor KeyboardComponent note calculation logic
Extracted MIDI note calculation into a reusable `getMidiNoteFromMousePosition` function. Replaced redundant inline logic in mouse event handlers and key drawing sections for improved readability and maintainability.
2025-06-07 11:24:30 +02:00
538aa6b9ae Update to version 2.1.1-SNAPSHOT and improve KeyboardComponent note handling
Bumped project version to 2.1.1-SNAPSHOT in `build.gradle.kts`. Enhanced `KeyboardComponent` logic to visually indicate pressed keys with new CSS classes for both white and black keys. Added `requestUpdate` calls to ensure UI updates on note changes. Simplified JVM target configuration in build script.
2025-06-06 20:21:51 +02:00
770607d5e6 Release version 2.1.0 and add MIDI broadcasting and handling
Updated `build.gradle.kts` to finalize version 2.1.0. Introduced `Broadcaster` and `Midi` classes for MIDI message broadcasting, synchronization, and handling. Added support for MIDI input/output devices with state management and message processing capabilities.
2025-06-06 19:55:44 +02:00
e6b7c9b288 Extend octave range to 0-9 and adjust MIDI note calculations 2025-06-06 19:47:05 +02:00
68a15bab8b Add octave controls to KeyboardComponent
Introduced buttons to dynamically adjust the octave within the range of 0 to 8. Added new CSS classes for layout and styling of octave controls, updated component logic with range validation, and reorganized the title and octave display for improved UI.
2025-06-06 19:32:15 +02:00
b48d6f3aca Add dynamic keyboard dimensions and integrate adjustable knob
Introduced adjustable `keyboardWidth` and `keyboardHeight` for `KeyboardComponent`, making dimensions dynamic. Added a knob component to control keyboard width in `MainView`. Enhanced layouts for flexibility and customization.
2025-06-06 19:25:50 +02:00
6b52e88cb7 Refactor KeyboardComponent dimensions and remove redundant code
Updated key size calculations to be dynamic based on keyboard dimensions for improved scalability. Removed unnecessary `println` calls and redundant MIDI note calculations in drawing logic for better performance and code clarity.
2025-06-05 21:38:33 +02:00
63d6c01fca Version 2.1.0-SNAPSHOT 2025-06-05 21:26:37 +02:00
70a8b55c47 Add KeyboardComponent 2025-06-05 21:26:07 +02:00
b94a50d6d4 Remove test-app.js from the project 2025-05-30 19:54:36 +02:00
14e097a2cb Update knob component defaults and clean up unused code
Adjusted the default value, minValue, and step for the volume knob to improve precision. Removed unused `KnobBackgroundCls` and cleaned up unnecessary whitespace for better readability and maintainability.
2025-05-15 16:11:31 +02:00
29cc78c6ba Release version 2.0.0 and add test-app setup.
Updated the version from 2.0.0-SNAPSHOT to 2.0.0 in `build.gradle.kts` for release readiness. Added a new `test-app` project including Gradle build files, scripts, and configuration for Kotlin multiplatform with JS and JVM targets to enable testing and application runtime.
2025-03-27 19:41:49 +01:00
bcc88f71e4 Update build scripts and configure multiplatform project
Added a Gradle build script for the test-app module with Kotlin Multiplatform configuration, including JS and JVM targets. Upgraded Kotlin plugin version to 2.1.10, updated dependencies, and adjusted the JS distribution path. Renamed the JS file in UndertowServer configuration for accuracy.
2025-03-17 18:13:58 +00:00
4259b054b3 Add test-app module with initial UI and backend setup
Introduced a new `test-app` module with a basic Kotlin/JS UI and a Kotlin/JVM backend. Updated dependencies to use `api` where applicable and made configuration changes to support composite builds.
2024-12-31 20:00:30 +01:00
684234e168 Refactor CssName and update build configuration.
Revised `CssName` to support optional override names and adjusted usage across multiple components for consistency. Updated build.gradle.kts to increment version and enable source maps in the browser configuration.
2024-12-30 11:14:11 +01:00
618dd52865 v. 1.2.0
Upgrade knob interaction logic and dependency versions.

Reworked knob value adjustment to use precise mouse coordinates via `setValueByMouseCoords`. Improved user interaction by enhancing activation handling and CSS styling. Updated project dependencies, removed unused packages, and set version to 1.2.0 for compatibility and feature stability.
2024-12-23 12:17:18 +01:00
20e06b8fb9 v. 1.1.3
Implement mouse coordinate-based knob value adjustment.

Added `setValueByMouseCoords` to calculate knob values derived from mouse coordinates using angles. Replaced obsolete mouse delta logic with the new approach for better precision and interaction. Upgraded dependencies and project configurations, including the Kotlin version, for enhanced compatibility and stability.
2024-12-22 17:02:32 +01:00
85eb34e09b Upgrade dependencies and project configuration.
Updated multiple dependencies including Kotlin, Webpack, and Mocha to their latest versions. The project's JDK was upgraded to version 21, and the Kotlin multiplatform plugin version updated to 2.1.0. This ensures better compatibility, improved performance, and access to new features.
2024-12-22 14:29:25 +01:00
f1264fb539 Set content-type on index.html 2024-12-08 10:17:10 +01:00
1ee724822a Revert to 2.0.21 2024-12-08 09:48:29 +01:00
942140a1e3 Update build settings and dependencies
Add Dokka for documentation generation and configure credentials for new Maven repository endpoints. Transition kotlin-komponent dependency to a stable release version, and set project version to 1.1.0 for release readiness.
2024-12-07 17:17:16 +01:00
d458bbcd19 Add additional Maven repository URL
Included a new Maven repository URL to the build configuration for enhanced flexibility in package retrieval. This change allows access through an alternative port, ensuring better availability and compatibility with different network setups.
2024-11-29 17:26:54 +01:00
240f3b0364 Update kotlin-css-generator to stable version 1.0.10
Switch from a snapshot to the stable release of kotlin-css-generator to ensure reliability and stability. This change enhances dependency management and reduces the risk of issues related to using a snapshot version.
2024-11-29 17:25:53 +01:00
dd1af44a1a Add custom Maven repository to build.gradle.kts
Removed mavenLocal() and added a new custom Maven repository URL to the repositories block. This change allows the project to fetch dependencies from the specified Gitea-based Maven repository. The adjustment ensures access to specific packages not available on Maven Central.
2024-11-29 17:24:40 +01:00
8d5d885683 Added publishing, upgrade kotlin version 2024-11-29 16:17:04 +01:00
55f6dbfdd7 Remove gradle.properties file
The gradle.properties file, which specified the Kotlin code style as official, has been deleted. This change is likely because the project no longer requires this configuration or has moved to a different setup for managing code styles.
2024-11-29 16:12:20 +01:00
40ba59e7bd Move stuff in base 2024-08-09 19:54:36 +02:00
8d529b0a45 Util 2024-06-29 20:01:35 +02:00
7fb93bd08b Fix position & sizes 2024-06-28 17:08:27 +02:00
abfbfe377f Fixes 2024-06-27 20:08:32 +02:00
7a103d078f Fixes 2024-06-27 16:40:42 +02:00
d51c460fe7 Initial commit 2024-06-27 12:29:50 +02:00
6147bfe5db Initial commit 2024-06-20 19:00:07 +02:00