Skip to content

Commit 38d4a0d

Browse files
committed
Update to serde 1.0. Remove serde module in favour of derive.
Serialization is now gated behind the "serde" feature rather than "serde_serialization".
1 parent 7194e58 commit 38d4a0d

12 files changed

+13
-772
lines changed

Cargo.toml

+1-5
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,4 @@ homepage = "https://github.com/RustAudio/time_calc"
1212
[dependencies]
1313
num = "0.1.28"
1414
rand = "0.3.12"
15-
serde = { optional = true, version = "0.7.0" }
16-
serde_json = { optional = true, version = "0.7.0" }
17-
18-
[features]
19-
serde_serialization = ["serde", "serde_json"]
15+
serde = { optional = true, version = "1.0", features = ["serde_derive"] }

src/bars.rs

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ use super::{
2828

2929
/// Represents a number of bars aka a simplified version of `Measure(1, Bar, Whole)`.
3030
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
31+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
3132
pub struct Bars(pub NumDiv);
3233

3334
impl Bars {

src/beats.rs

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use super::{
2727

2828
/// Represents a number of beats aka a simplified version of `Measure(1, Beat, Whole)`.
2929
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
30+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
3031
pub struct Beats(pub NumDiv);
3132

3233
impl Beats {

src/calc.rs

100755100644
File mode changed.

src/division.rs

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub type NumDiv = i64;
1313

1414
/// An enum with variants used to represent a musical division.
1515
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
16+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
1617
pub enum Division {
1718
Bar,
1819
Minim,
@@ -149,6 +150,7 @@ impl Sub<isize> for Division {
149150
/// The 'Division Type'. Used for handling 'Thirds'.
150151
/// Whole represents a Whole division, while TwoThirds represents two thirds of a division.
151152
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
153+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
152154
pub enum DivType {
153155
Whole,
154156
TwoThirds,

src/lib.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
extern crate num;
22
extern crate rand;
3+
#[cfg(feature = "serde")] #[macro_use] extern crate serde;
34

45
pub use bars::Bars;
56
pub use beats::Beats;
@@ -43,5 +44,5 @@ pub mod samples;
4344
pub mod ticks;
4445
pub mod time_sig;
4546

46-
#[cfg(feature="serde_serialization")]
47-
mod serde;
47+
// #[cfg(feature="serde_serialization")]
48+
// mod serde;

src/measure.rs

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ use super::{
3131
/// Measure(3, Beat, Whole) is three beats of musical time.
3232
/// Measure(1, Minim, TwoThirds) is two thirds of a minim.
3333
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
34+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
3435
pub struct Measure(pub NumDiv, pub Division, pub DivType);
3536

3637
impl Measure {

src/ms.rs

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ use super::{
2424

2525
/// Time representation in the form of Milliseconds.
2626
#[derive(Debug, Copy, Clone, PartialEq, PartialOrd)]
27+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
2728
pub struct Ms(pub calc::Ms);
2829

2930
impl Ms {

src/samples.rs

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ use super::{
2424

2525
/// Time representation in the form of Samples.
2626
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
27+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
2728
pub struct Samples(pub calc::Samples);
2829

2930
impl Samples {

0 commit comments

Comments
 (0)