pub fn with_key(self, key: Key) -> Tpc {
        #[rustfmt::skip]
        const BY_STEP_AND_KEY: [Tpc; 7 * Key::NUM_OF as usize] = [
            Tpc::Cb, Tpc::Db, Tpc::Eb, Tpc::Fb, Tpc::Gb, Tpc::Ab, Tpc::Bb, // Cb
            Tpc::Cb, Tpc::Db, Tpc::Eb, Tpc::F,  Tpc::Gb, Tpc::Ab, Tpc::Bb, // Gb
            Tpc::C,  Tpc::Db, Tpc::Eb, Tpc::F,  Tpc::Gb, Tpc::Ab, Tpc::Bb, // Db
            Tpc::C,  Tpc::Db, Tpc::Eb, Tpc::F,  Tpc::G,  Tpc::Ab, Tpc::Bb, // Ab
            Tpc::C,  Tpc::D,  Tpc::Eb, Tpc::F,  Tpc::G,  Tpc::Ab, Tpc::Bb, // Eb
            Tpc::C,  Tpc::D,  Tpc::Eb, Tpc::F,  Tpc::G,  Tpc::A,  Tpc::Bb, // B
            Tpc::C,  Tpc::D,  Tpc::E,  Tpc::F,  Tpc::G,  Tpc::A,  Tpc::Bb, // F
            Tpc::C,  Tpc::D,  Tpc::E,  Tpc::F,  Tpc::G,  Tpc::A,  Tpc::B,  // C
            Tpc::C,  Tpc::D,  Tpc::E,  Tpc::Fs, Tpc::G,  Tpc::A,  Tpc::B,  // G
            Tpc::Cs, Tpc::D,  Tpc::E,  Tpc::Fs, Tpc::G,  Tpc::A,  Tpc::B,  // D
            Tpc::Cs, Tpc::D,  Tpc::E,  Tpc::Fs, Tpc::Gs, Tpc::A,  Tpc::B,  // A
            Tpc::Cs, Tpc::Ds, Tpc::E,  Tpc::Fs, Tpc::Gs, Tpc::A,  Tpc::B,  // E
            Tpc::Cs, Tpc::Ds, Tpc::E,  Tpc::Fs, Tpc::Gs, Tpc::As, Tpc::B,  // H
            Tpc::Cs, Tpc::Ds, Tpc::Es, Tpc::Fs, Tpc::Gs, Tpc::As, Tpc::B,  // F#
            Tpc::Cs, Tpc::Ds, Tpc::Es, Tpc::Fs, Tpc::Gs, Tpc::As, Tpc::Bs, // C#
        ];
        let key = usize::try_from(key as i8 - Key::MIN as i8).unwrap();
        BY_STEP_AND_KEY[7 * key + self as usize]
    }
/// The tonal pitch class of the step in the given key
/// ```
/// # use tonality::{Key, Step, Tpc};
/// assert_eq!(Tpc::Ab, Step::A.with_key(Key::Eb));
/// ```
The tonal pitch class of the step in the given key
```
The tonal pitch class of the step in the given key ` ` `
pub fn with_key(self, key: Key) -> Tpc {
        #[rustfmt::skip]
        const BY_STEP_AND_KEY: [Tpc; 7 * Key::NUM_OF as usize] = [
            Tpc::Cb, Tpc::Db, Tpc::Eb, Tpc::Fb, Tpc::Gb, Tpc::Ab, Tpc::Bb, // Cb
            Tpc::Cb, Tpc::Db, Tpc::Eb, Tpc::F,  Tpc::Gb, Tpc::Ab, Tpc::Bb, // Gb
            Tpc::C,  Tpc::Db, Tpc::Eb, Tpc::F,  Tpc::Gb, Tpc::Ab, Tpc::Bb, // Db
            Tpc::C,  Tpc::Db, Tpc::Eb, Tpc::F,  Tpc::G,  Tpc::Ab, Tpc::Bb, // Ab
            Tpc::C,  Tpc::D,  Tpc::Eb, Tpc::F,  Tpc::G,  Tpc::Ab, Tpc::Bb, // Eb
            Tpc::C,  Tpc::D,  Tpc::Eb, Tpc::F,  Tpc::G,  Tpc::A,  Tpc::Bb, // B
            Tpc::C,  Tpc::D,  Tpc::E,  Tpc::F,  Tpc::G,  Tpc::A,  Tpc::Bb, // F
            Tpc::C,  Tpc::D,  Tpc::E,  Tpc::F,  Tpc::G,  Tpc::A,  Tpc::B,  // C
            Tpc::C,  Tpc::D,  Tpc::E,  Tpc::Fs, Tpc::G,  Tpc::A,  Tpc::B,  // G
            Tpc::Cs, Tpc::D,  Tpc::E,  Tpc::Fs, Tpc::G,  Tpc::A,  Tpc::B,  // D
            Tpc::Cs, Tpc::D,  Tpc::E,  Tpc::Fs, Tpc::Gs, Tpc::A,  Tpc::B,  // A
            Tpc::Cs, Tpc::Ds, Tpc::E,  Tpc::Fs, Tpc::Gs, Tpc::A,  Tpc::B,  // E
            Tpc::Cs, Tpc::Ds, Tpc::E,  Tpc::Fs, Tpc::Gs, Tpc::As, Tpc::B,  // H
            Tpc::Cs, Tpc::Ds, Tpc::Es, Tpc::Fs, Tpc::Gs, Tpc::As, Tpc::B,  // F#
            Tpc::Cs, Tpc::Ds, Tpc::Es, Tpc::Fs, Tpc::Gs, Tpc::As, Tpc::Bs, // C#
        ];
        let key = usize::try_from(key as i8 - Key::MIN as i8).unwrap();
        BY_STEP_AND_KEY[7 * key + self as usize]
    }
pub fn with_key ( self , key : Key ) -> Tpc { # [ rustfmt :: skip ] const BY_STEP_AND_KEY : [ Tpc ; 7 * Key :: NUM_OF as usize ] = [ Tpc :: Cb , Tpc :: Db , Tpc :: Eb , Tpc :: Fb , Tpc :: Gb , Tpc :: Ab , Tpc :: Bb , // Cb Tpc :: Cb , Tpc :: Db , Tpc :: Eb , Tpc :: F , Tpc :: Gb , Tpc :: Ab , Tpc :: Bb , // Gb Tpc :: C , Tpc :: Db , Tpc :: Eb , Tpc :: F , Tpc :: Gb , Tpc :: Ab , Tpc :: Bb , // Db Tpc :: C , Tpc :: Db , Tpc :: Eb , Tpc :: F , Tpc :: G , Tpc :: Ab , Tpc :: Bb , // Ab Tpc :: C , Tpc :: D , Tpc :: Eb , Tpc :: F , Tpc :: G , Tpc :: Ab , Tpc :: Bb , // Eb Tpc :: C , Tpc :: D , Tpc :: Eb , Tpc :: F , Tpc :: G , Tpc :: A , Tpc :: Bb , // B Tpc :: C , Tpc :: D , Tpc :: E , Tpc :: F , Tpc :: G , Tpc :: A , Tpc :: Bb , // F Tpc :: C , Tpc :: D , Tpc :: E , Tpc :: F , Tpc :: G , Tpc :: A , Tpc :: B , // C Tpc :: C , Tpc :: D , Tpc :: E , Tpc :: Fs , Tpc :: G , Tpc :: A , Tpc :: B , // G Tpc :: Cs , Tpc :: D , Tpc :: E , Tpc :: Fs , Tpc :: G , Tpc :: A , Tpc :: B , // D Tpc :: Cs , Tpc :: D , Tpc :: E , Tpc :: Fs , Tpc :: Gs , Tpc :: A , Tpc :: B , // A Tpc :: Cs , Tpc :: Ds , Tpc :: E , Tpc :: Fs , Tpc :: Gs , Tpc :: A , Tpc :: B , // E Tpc :: Cs , Tpc :: Ds , Tpc :: E , Tpc :: Fs , Tpc :: Gs , Tpc :: As , Tpc :: B , // H Tpc :: Cs , Tpc :: Ds , Tpc :: Es , Tpc :: Fs , Tpc :: Gs , Tpc :: As , Tpc :: B , // F# Tpc :: Cs , Tpc :: Ds , Tpc :: Es , Tpc :: Fs , Tpc :: Gs , Tpc :: As , Tpc :: Bs , // C# ] ; let key = usize :: try_from ( key as i8 - Key :: MIN as i8 ) . unwrap ( ) ; BY_STEP_AND_KEY [ 7 * key + self as usize ] }
The tonal pitch class of the step in the given key
```
The tonal pitch class of the step in the given key ` ` `
self
key
Key
self
key
Key
use tonality::{key, step, tpc};
None