From 560611134588f63270a569e92160ecac5ceabc37 Mon Sep 17 00:00:00 2001 From: Vivia Nikolaidou Date: Thu, 18 Aug 2022 15:04:15 +0300 Subject: plugins: Simplify code using ParamSpecBuilder --- tutorial/src/progressbin/imp.rs | 16 ++++----- tutorial/src/rgb2gray/imp.rs | 29 ++++++++-------- tutorial/src/sinesrc/imp.rs | 74 ++++++++++++++++++----------------------- tutorial/tutorial-1.md | 29 ++++++++-------- tutorial/tutorial-2.md | 74 ++++++++++++++++++----------------------- 5 files changed, 100 insertions(+), 122 deletions(-) (limited to 'tutorial') diff --git a/tutorial/src/progressbin/imp.rs b/tutorial/src/progressbin/imp.rs index e8dbbc772..26b7f85b5 100644 --- a/tutorial/src/progressbin/imp.rs +++ b/tutorial/src/progressbin/imp.rs @@ -82,14 +82,14 @@ impl ObjectImpl for ProgressBin { // Metadata for the element's properties fn properties() -> &'static [glib::ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { - vec![glib::ParamSpecEnum::new( - "output", - "Output", - "Defines the output type of the progressbin", - ProgressBinOutput::static_type(), - DEFAULT_OUTPUT_TYPE as i32, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - )] + vec![ + glib::ParamSpecEnum::builder("output", ProgressBinOutput::static_type()) + .nick("Output") + .blurb("Defines the output type of the progressbin") + .default_value(DEFAULT_OUTPUT_TYPE as i32) + .mutable_playing() + .build(), + ] }); PROPERTIES.as_ref() diff --git a/tutorial/src/rgb2gray/imp.rs b/tutorial/src/rgb2gray/imp.rs index 5ff2cd612..6d65a0968 100644 --- a/tutorial/src/rgb2gray/imp.rs +++ b/tutorial/src/rgb2gray/imp.rs @@ -98,22 +98,19 @@ impl ObjectImpl for Rgb2Gray { // Metadata for the properties static PROPERTIES: Lazy> = Lazy::new(|| { vec![ - glib::ParamSpecBoolean::new( - "invert", - "Invert", - "Invert grayscale output", - DEFAULT_INVERT, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), - glib::ParamSpecUInt::new( - "shift", - "Shift", - "Shift grayscale output (wrapping around)", - 0, - 255, - DEFAULT_SHIFT, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), + glib::ParamSpecBoolean::builder("invert") + .nick("Invert") + .blurb("Invert grayscale output") + .default_value(DEFAULT_INVERT) + .mutable_playing() + .build(), + glib::ParamSpecUInt::builder("shift") + .nick("Shift") + .blurb("Shift grayscale output (wrapping around)") + .maximum(255) + .default_value(DEFAULT_SHIFT) + .mutable_playing() + .build(), ] }); diff --git a/tutorial/src/sinesrc/imp.rs b/tutorial/src/sinesrc/imp.rs index e412a8f9d..f74340441 100644 --- a/tutorial/src/sinesrc/imp.rs +++ b/tutorial/src/sinesrc/imp.rs @@ -168,47 +168,39 @@ impl ObjectImpl for SineSrc { fn properties() -> &'static [glib::ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { vec![ - glib::ParamSpecUInt::new( - "samples-per-buffer", - "Samples Per Buffer", - "Number of samples per output buffer", - 1, - u32::MAX, - DEFAULT_SAMPLES_PER_BUFFER, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, - ), - glib::ParamSpecUInt::new( - "freq", - "Frequency", - "Frequency", - 1, - u32::MAX, - DEFAULT_FREQ, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), - glib::ParamSpecDouble::new( - "volume", - "Volume", - "Output volume", - 0.0, - 10.0, - DEFAULT_VOLUME, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), - glib::ParamSpecBoolean::new( - "mute", - "Mute", - "Mute", - DEFAULT_MUTE, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), - glib::ParamSpecBoolean::new( - "is-live", - "Is Live", - "(Pseudo) live output", - DEFAULT_IS_LIVE, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, - ), + glib::ParamSpecUInt::builder("samples-per-buffer") + .nick("Samples Per Buffer") + .blurb("Number of samples per output buffer") + .minimum(1) + .default_value(DEFAULT_SAMPLES_PER_BUFFER) + .mutable_ready() + .build(), + glib::ParamSpecUInt::builder("freq") + .nick("Frequency") + .blurb("Frequency") + .minimum(1) + .default_value(DEFAULT_FREQ) + .mutable_playing() + .build(), + glib::ParamSpecDouble::builder("volume") + .nick("Volume") + .blurb("Output volume") + .maximum(10.0) + .default_value(DEFAULT_VOLUME) + .mutable_playing() + .build(), + glib::ParamSpecBoolean::builder("mute") + .nick("Mute") + .blurb("Mute") + .default_value(DEFAULT_MUTE) + .mutable_playing() + .build(), + glib::ParamSpecBoolean::builder("is-live") + .nick("Is Live") + .blurb("(Pseudo) live output") + .default_value(DEFAULT_IS_LIVE) + .mutable_ready() + .build(), ] }); diff --git a/tutorial/tutorial-1.md b/tutorial/tutorial-1.md index b60c62116..275489095 100644 --- a/tutorial/tutorial-1.md +++ b/tutorial/tutorial-1.md @@ -732,22 +732,19 @@ impl ObjectImpl for Rgb2Gray { // Metadata for the properties static PROPERTIES: Lazy> = Lazy::new(|| { vec![ - glib::ParamSpec::boolean( - "invert", - "Invert", - "Invert grayscale output", - DEFAULT_INVERT, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), - glib::ParamSpec::uint( - "shift", - "Shift", - "Shift grayscale output (wrapping around)", - 0, - 255, - DEFAULT_SHIFT, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), + glib::ParamSpecBoolean::builder("invert") + .nick("Invert") + .blurb("Invert grayscale output") + .default_value(DEFAULT_INVERT) + .mutable_playing() + .build(), + glib::ParamSpecUInt::builder("shift") + .nick("Shift") + .blurb("Shift grayscale output (wrapping around)") + .maximum(255) + .default_value(DEFAULT_SHIFT) + .mutable_playing() + .build(), ] }); diff --git a/tutorial/tutorial-2.md b/tutorial/tutorial-2.md index 9f30a71f8..accec1ef5 100644 --- a/tutorial/tutorial-2.md +++ b/tutorial/tutorial-2.md @@ -168,47 +168,39 @@ impl ObjectImpl for SineSrc { fn properties() -> &'static [glib::ParamSpec] { static PROPERTIES: Lazy> = Lazy::new(|| { vec![ - glib::ParamSpec::uint( - "samples-per-buffer", - "Samples Per Buffer", - "Number of samples per output buffer", - 1, - u32::MAX, - DEFAULT_SAMPLES_PER_BUFFER, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, - ), - glib::ParamSpec::uint( - "freq", - "Frequency", - "Frequency", - 1, - u32::MAX, - DEFAULT_FREQ, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), - glib::ParamSpec::double( - "volume", - "Volume", - "Output volume", - 0.0, - 10.0, - DEFAULT_VOLUME, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), - glib::ParamSpec::boolean( - "mute", - "Mute", - "Mute", - DEFAULT_MUTE, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_PLAYING, - ), - glib::ParamSpec::boolean( - "is-live", - "Is Live", - "(Pseudo) live output", - DEFAULT_IS_LIVE, - glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY, - ), + glib::ParamSpecUInt::builder("samples-per-buffer") + .nick("Samples Per Buffer") + .blurb("Number of samples per output buffer") + .minimum(1) + .default_value(DEFAULT_SAMPLES_PER_BUFFER) + .mutable_ready() + .build(), + glib::ParamSpecUInt::builder("freq") + .nick("Frequency") + .blurb("Frequency") + .minimum(1) + .default_value(DEFAULT_FREQ) + .mutable_playing() + .build(), + glib::ParamSpecDouble::builder("volume") + .nick("Volume") + .blurb("Output volume") + .maximum(10.0) + .default_value(DEFAULT_VOLUME) + .mutable_playing() + .build(), + glib::ParamSpecBoolean::builder("mute") + .nick("Mute") + .blurb("Mute") + .default_value(DEFAULT_MUTE) + .mutable_playing() + .build(), + glib::ParamSpecBoolean::builder("is-live") + .nick("Is Live") + .blurb("(Pseudo) live output") + .default_value(DEFAULT_IS_LIVE) + .mutable_ready() + .build(), ] }); -- cgit v1.2.3