Compare commits

..

9 Commits

Author SHA1 Message Date
46241cce5f WIP: Remove tha root cargo package
Some checks failed
ci/woodpecker/push/code_tests Pipeline failed
ci/woodpecker/push/pre_commit_test Pipeline was successful
Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 19:26:02 +01:00
f413c43919 Add audio files for testing
All checks were successful
ci/woodpecker/push/code_tests Pipeline was successful
ci/woodpecker/push/pre_commit_test Pipeline was successful
Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 19:23:38 +01:00
1a679693d3 WIP: Apply cargo fmt checks
All checks were successful
ci/woodpecker/push/code_tests Pipeline was successful
ci/woodpecker/push/pre_commit_test Pipeline was successful
Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 18:59:30 +01:00
690468d0ab Run the pre-commit locally
Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 18:59:30 +01:00
12132b2798 WIP: Still nothing meaningful
Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 18:59:30 +01:00
20fe694a8f WIP: Preparing the codebase, nothing important
Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 18:59:29 +01:00
a9efa652ef Add cargo fmt to the pipeline
All checks were successful
ci/woodpecker/push/code_tests Pipeline was successful
ci/woodpecker/push/pre_commit_test Pipeline was successful
Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 18:58:22 +01:00
6e7b07ab28 Add the build status to the README
All checks were successful
ci/woodpecker/push/code_tests Pipeline was successful
ci/woodpecker/push/pre_commit_test Pipeline was successful
Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 18:34:05 +01:00
2f17df8064 Add CI pipelines and pre-commit hooks
All checks were successful
ci/woodpecker/push/code_tests Pipeline was successful
ci/woodpecker/push/pre_commit_test Pipeline was successful
Now we have a very basic CI pipeline for running tests and executing
linter, as well as a pre-commit hook that is checking basic code related
stuff. The pre-commit hook is executed as a part of pipelines as well

Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
2025-11-23 18:10:19 +01:00
14 changed files with 66 additions and 32 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
resources/** filter=lfs diff=lfs merge=lfs -text

12
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,12 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: check-added-large-files
- id: check-merge-conflict
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- id: codespell

View File

@@ -0,0 +1,18 @@
when:
event:
- push
steps:
- name: Clippy linter
image: rust:1.91.1-bullseye
commands:
- rustup component add clippy
- cargo clippy
- name: Rust fmt
image: rust:1.91.1-bullseye
commands:
- rustup component add rustfmt
- cargo fmt --check
- name: Unit tests
image: rust:1.91.1-bullseye
commands:
- cargo test

View File

@@ -0,0 +1,8 @@
when:
event:
- push
steps:
- name: Pre commit validation
image: codeberg.org/sp1thas/woodpecker-ci-pre-commit-runner
settings:
args: "--all-files"

8
Cargo.lock generated
View File

@@ -162,19 +162,15 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.110" version = "2.0.111"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "termix"
version = "0.1.0"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.22" version = "1.0.22"

View File

@@ -1,10 +1,5 @@
[package]
name = "termix"
version = "0.1.0"
edition = "2024"
[workspace] [workspace]
resolver = "3" resolver = "3"
members = ["engine", "lib"] members = ["engine", "lib"]
[dependencies] [workspace.dependencies]

18
LICENSE
View File

@@ -2,17 +2,17 @@ MIT License
Copyright (c) 2025 badhouseplants Copyright (c) 2025 badhouseplants
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions: following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software. portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE. USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -1,2 +1,2 @@
# termix # termix
[![status-badge](https://ci.badhouseplants.net/api/badges/19/status.svg)](https://ci.badhouseplants.net/repos/19)

View File

@@ -1,19 +1,17 @@
use lib::{self, metadata::Metadata, track::Track}; use lib::{self, metadata::Metadata, track::Track};
fn main() { fn main() {
let mut current_project = lib::project::Project {
let mut current_project = lib::project::Project{
name: "test".to_string(), name: "test".to_string(),
tracks: None, tracks: None,
regions: None, regions: None,
current_sample: 0 current_sample: 0,
}; };
let track = Track{ let track = Track {
metadata: Metadata::new("test".to_string()), metadata: Metadata::new("test".to_string()),
track_type: lib::track::TrackType::Audio, track_type: lib::track::TrackType::Audio,
active: true active: true,
}; };
current_project.tracks = Some(vec![track]); current_project.tracks = Some(vec![track]);

View File

@@ -1,5 +1,5 @@
pub mod metadata; pub mod metadata;
pub mod project;
pub mod region; pub mod region;
pub mod track; pub mod track;
pub mod project;

BIN
resources/audio/session.flac (Stored with Git LFS) Normal file

Binary file not shown.

BIN
resources/audio/session.mp3 (Stored with Git LFS) Normal file

Binary file not shown.

BIN
resources/audio/session.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +0,0 @@
fn main() {
println!("Hello, world!");
}