Mix-In

A great feature to smoothen transitions between songs would be a “mix-in” mark, which would take place AFTER the cue-in.

The idea is to mix the very soft beginnings of certain songs (like waves, for example) into the end of the previous element.
The “start next” of the previous element arrives at the “mix-in” point of the song, but the very beginning of the song has already been played during the end of the previous element.

Don’t know if you see what I mean.

1 Like

What would be the difference to the Fade In cue marker?

What Mike means is a functionality similar to the Anchor-Mark in conjunction with fixed times.

Cued regards

TSD

The difference is that the “fade in” (and of course the song) starts at the the “start next” of the previous element.
With “mix-in”, the song has already been started so that the “mix-in” matches the “start next” of the previous element.

I actually like the idea a lot.
That would help on many non-mainstream Genres.

1 Like

Technically absolutely possible, like a little brother of the silent-start backtiming task.

Synchronised regards

TSD

@MikeMix: If you don’t bother employing some trigger element you might want to have a go at this:

{ 

  +------------------------------------------------------------------------+
  |                                                                        |
  | Mix-In-Script for quietly-starting elements, quick & dirty             |
  |                                                                        |
  | Version 1.0, © 2020 Tondose (https://community.mairlist.com/u/tondose) |
  |                                                                        |
  +------------------------------------------------------------------------+


Requirement:

• Trigger-element in Playlist of Length 0:00, user-defined title.

StartNext-marker of title playing will be corrected by Ramp1-time of
following item if trigger-element is employed in between.


Changelog:

V1.0:
[*] First Version

}


const
  MIXINCAPTION = 'Steuerelement Mix-In';            // Title of trigger-element
 
 
{ ---------------------------------------------------------------------------- }


var
  RampDuration: TTimeValue;
  StartItem, MixItem: IPlaylistItem;

procedure MixIn;
begin 
  if CurrentPlaylist.GetItem(1).GetTitle = MIXINCAPTION then begin
    MixItem := CurrentPlaylist.GetItem(2);
    RampDuration := MixItem.GetCuePosition(ptRamp1) 
      - MixItem.GetCuePosition(ptCueIn);
    StartItem := CurrentPlaylist.GetItem(0);
    StartItem.SetCuePosition(ptStartNext, StartItem.GetCuePosition(ptStartNext)
      - RampDuration);
   end;
end;

procedure OnPlayerStateChange(PlaylistIndex: integer; PlayerIndex: integer; 
  OldState: TPlayerState; NewState: TPlayerState; Item: IPlaylistItem);
begin
  if NewState = psPlaying then begin
    MixIn;
  end;
end;


begin 
end.


Mixed regards

TSD

Not currently possible to do this automatically (and reliably) with the way the current playout engine works, as one item/player cannot have influence on the other.