| Crates.io | cx_studio |
| lib.rs | cx_studio |
| version | 0.1.0 |
| created_at | 2026-01-11 16:36:55.489569+00 |
| updated_at | 2026-01-11 16:36:55.489569+00 |
| description | Cross-platform lib for multimedia processing in studios. |
| homepage | https://github.com/LambdaXIII/cx-studio-rs |
| repository | |
| max_upload_size | |
| id | 2036077 |
| size | 88,626 |
Rust version of cxalio studio toolkits, a multimedia-focused library for handling time-related functionality.
cx-studio-rs provides a comprehensive set of tools for working with time in multimedia applications. Built with precision and performance in mind, it offers robust implementations for time representation, conversion, and manipulation.
use cx_studio::core::{Time, Timebase, Timecode};
// Create time objects
let time = Time::from_seconds(1.5);
let duration = Time::from_minutes(30.0);
// Create a timebase
let timebase_24fps = Timebase::new(24.0);
let timebase_dropframe = Timebase::new(23.976);
// Create a timecode from time
let timecode = Timecode::from_time(Time::from_seconds(1234.5), timebase_24fps);
println!("Timecode: {}", timecode.to_string()); // "00:20:34:12"
Each component includes detailed documentation with usage examples. For more information, refer to the in-code documentation:
The library includes comprehensive tests for all components:
cargo test
Add cx_studio to your Cargo.toml dependencies:
[dependencies]
cx_studio = "0.1.0"
To build the project:
cargo build
To build in release mode:
cargo build --release
cx-studio-rs/
├── cx_studio/
│ ├── src/
│ │ ├── core/
│ │ │ ├── time/ # Time-related functionality
│ │ │ │ ├── cx_time.rs
│ │ │ │ ├── cx_timebase.rs
│ │ │ │ ├── cx_timecode.rs
│ │ │ │ ├── cx_timerange.rs
│ │ │ │ ├── cx_timestamp.rs
│ │ │ │ └── mod.rs
│ │ │ └── mod.rs
│ │ └── lib.rs
│ ├── tests/ # Unit tests
│ └── Cargo.toml
├── Cargo.lock
├── Cargo.toml
├── LICENSE
└── README.md
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the GPL-3.0-or-later license. See the LICENSE file for details.
For questions or support, please open an issue on the GitHub repository.