Trait midi2::TryRebufferFrom

source ·
pub trait TryRebufferFrom<T>: Sized {
    // Required method
    fn try_rebuffer_from(value: T) -> Result<Self, BufferOverflow>;
}
Expand description

Attempt to convert a generic message from one buffer specialisation to another.

The conversion may fail with a BufferOverflow error if the target message representation does not fit all of the message data.

use midi2::{TryRebufferFrom, sysex7::Sysex7};

let borrowed: Sysex7<&[u32]> = Sysex7::try_from(&[
    0x3016_0001,
    0x0203_0405,
    0x3035_0607,
    0x0809_0A00,
][..]).expect("Valid data");

assert!(Sysex7::<[u32; 4]>::try_rebuffer_from(borrowed.clone()).is_ok());
assert!(Sysex7::<[u32; 2]>::try_rebuffer_from(borrowed.clone()).is_err());

Required Methods§

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<A: Bytes, B: Bytes + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<BytesMessage<A>> for BytesMessage<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ChannelVoice2<A>> for ChannelVoice2<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<UmpMessage<A>> for UmpMessage<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<FlexData<A>> for FlexData<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<UmpStream<A>> for UmpStream<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Utility<A>> for Utility<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<AssignableController<A>> for AssignableController<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<AssignablePerNoteController<A>> for AssignablePerNoteController<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ChannelPitchBend<A>> for ChannelPitchBend<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ChannelPressure<A>> for midi2::channel_voice2::ChannelPressure<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ControlChange<A>> for midi2::channel_voice2::ControlChange<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<KeyPressure<A>> for midi2::channel_voice2::KeyPressure<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<NoteOff<A>> for midi2::channel_voice2::NoteOff<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<NoteOn<A>> for midi2::channel_voice2::NoteOn<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<PerNoteManagement<A>> for PerNoteManagement<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<PerNotePitchBend<A>> for PerNotePitchBend<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ProgramChange<A>> for midi2::channel_voice2::ProgramChange<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<RegisteredController<A>> for RegisteredController<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<RegisteredPerNoteController<A>> for RegisteredPerNoteController<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<RelativeAssignableController<A>> for RelativeAssignableController<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<RelativeRegisteredController<A>> for RelativeRegisteredController<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<AccompanyingPerformerName<A>> for AccompanyingPerformerName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ArrangerName<A>> for ArrangerName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ComposerName<A>> for ComposerName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<CompositionName<A>> for CompositionName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<CopyrightNotice<A>> for CopyrightNotice<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<LyricistName<A>> for LyricistName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Lyrics<A>> for Lyrics<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<LyricsLanguage<A>> for LyricsLanguage<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<MidiClipName<A>> for MidiClipName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<PrimaryPerformerName<A>> for PrimaryPerformerName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ProjectName<A>> for ProjectName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<PublisherName<A>> for PublisherName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<RecordingDate<A>> for RecordingDate<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<RecordingLocation<A>> for RecordingLocation<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Ruby<A>> for Ruby<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<RubyLanguage<A>> for RubyLanguage<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<SetChordName<A>> for SetChordName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<SetKeySignature<A>> for SetKeySignature<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<SetMetronome<A>> for SetMetronome<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<SetTempo<A>> for SetTempo<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<SetTimeSignature<A>> for SetTimeSignature<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<UnknownMetadataText<A>> for UnknownMetadataText<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<UnknownPerformanceText<A>> for UnknownPerformanceText<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Sysex8<A>> for Sysex8<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<DeviceIdentity<A>> for DeviceIdentity<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<EndOfClip<A>> for EndOfClip<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<EndpointDiscovery<A>> for EndpointDiscovery<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<EndpointInfo<A>> for EndpointInfo<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<EndpointName<A>> for EndpointName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<FunctionBlockDiscovery<A>> for FunctionBlockDiscovery<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<FunctionBlockInfo<A>> for FunctionBlockInfo<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<FunctionBlockName<A>> for FunctionBlockName<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ProductInstanceId<A>> for ProductInstanceId<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<StartOfClip<A>> for StartOfClip<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<StreamConfigurationNotification<A>> for StreamConfigurationNotification<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<StreamConfigurationRequest<A>> for StreamConfigurationRequest<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Clock<A>> for Clock<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<DeltaClockstamp<A>> for DeltaClockstamp<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<DeltaClockstampTpq<A>> for DeltaClockstampTpq<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<NoOp<A>> for NoOp<B>

source§

impl<A: Ump, B: Ump + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Timestamp<A>> for Timestamp<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ChannelVoice1<A>> for ChannelVoice1<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<SystemCommon<A>> for SystemCommon<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ChannelPressure<A>> for midi2::channel_voice1::ChannelPressure<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ControlChange<A>> for midi2::channel_voice1::ControlChange<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<KeyPressure<A>> for midi2::channel_voice1::KeyPressure<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<NoteOff<A>> for midi2::channel_voice1::NoteOff<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<NoteOn<A>> for midi2::channel_voice1::NoteOn<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<PitchBend<A>> for PitchBend<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ProgramChange<A>> for midi2::channel_voice1::ProgramChange<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Sysex7<A>> for Sysex7<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<ActiveSensing<A>> for ActiveSensing<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Continue<A>> for Continue<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Reset<A>> for Reset<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<SongPositionPointer<A>> for SongPositionPointer<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<SongSelect<A>> for SongSelect<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Start<A>> for Start<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<Stop<A>> for Stop<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<TimeCode<A>> for TimeCode<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<TimingClock<A>> for TimingClock<B>

source§

impl<U: Unit, A: Buffer<Unit = U>, B: Buffer<Unit = U> + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<TuneRequest<A>> for TuneRequest<B>

source§

impl<const VERSION: u8, A: Bytes, B: Bytes + BufferMut + BufferDefault + BufferTryResize> TryRebufferFrom<DiscoveryQuery<VERSION, A>> for DiscoveryQuery<VERSION, B>