static void Sound_set(FSNScriptSequence.Parser.ICommandGenerateProtocol protocol)
    {
        var newObjectSeg = new Segments.Sound();

        newObjectSeg.command = Segments.Object.CommandType.SetKey;

        _Sound_setupSegment(newObjectSeg, protocol);                    // 셋업

        protocol.PushSegment(new FSNScriptSequence.Parser.GeneratedSegmentInfo()
        {
            newSeg        = newObjectSeg,
            usePrevPeriod = true,
            selfPeriod    = false
        });
    }
    static void Sound_oneshot(FSNScriptSequence.Parser.ICommandGenerateProtocol protocol)
    {
        var newObjectSeg = new Segments.Sound();

        newObjectSeg.command = Segments.Object.CommandType.Custom;

        //_Sound_setupSegment(newObjectSeg, protocol);		// 셋업
        _BaseObject_setupSegment <Segments.Sound>((int)FSNSnapshot.PreDefinedLayers.Sound, newObjectSeg, protocol, false);              // 원샷 사운드는 오브젝트 이름을 지정하지 않는다.

        protocol.PushSegment(new FSNScriptSequence.Parser.GeneratedSegmentInfo()
        {
            newSeg        = newObjectSeg,
            usePrevPeriod = true,
            selfPeriod    = false
        });
    }
 static void _Sound_setupSegment(Segments.Sound seg, FSNScriptSequence.Parser.ICommandGenerateProtocol protocol)
 {
     _BaseObject_setupSegment <Segments.Sound>((int)FSNSnapshot.PreDefinedLayers.Sound, seg, protocol);
 }