Created
July 26, 2009 08:25
-
-
Save atsushieno/155465 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 続きは気が向いたら。 | |
using System; | |
using System.Collections.Generic; | |
using FadeCurveShapeID = System.String; // 4-byte character code | |
using DspParameterID = System.String; // 4-byte character code | |
namespace Commons.Music.Ixmf | |
{ | |
public class IxmfEngine | |
{ | |
public IxmfEngine () | |
{ | |
} | |
// Built-in Statements (OpCodeSpace 0x00) | |
// global | |
public void SetGlobalDefaultFade (FadeDirectionID fadeDirection, FadeCurveShapeID fadeCurveShape, uint duration) | |
{ | |
} | |
public void SetMasterDspParameter (DspParameterID dspParameterID, int value) | |
{ | |
} | |
// cue | |
public void CallCue (int cueID) | |
{ | |
} | |
public ushort GetCueID () | |
{ | |
} | |
public uint GetCueParameter () | |
{ | |
} | |
public void SetCueMaxInstanceCount (ushort cueID, ushort countMax) | |
{ | |
} | |
public int GetCueMaxInstanceCount (ushort cueID) | |
{ | |
} | |
public int GetCueInstanceCount (ushort cueID) | |
{ | |
} | |
public void SetPreBufferDuration (uint durationInSeconds) | |
{ | |
} | |
public void SetCueCancelScript (ushort scriptID) | |
{ | |
} | |
public void ReleaseCue () | |
{ | |
} | |
public void Prebuffer () | |
{ | |
} | |
public void InvokeCallbackFunction (ushort callbackID) | |
{ | |
} | |
public void SetCueInstancePriority (ushort Priority) | |
{ | |
} | |
public int GetCueInstancePriority () | |
{ | |
} | |
public void SetCuePriority (ushort cueID, ushort Priority) | |
{ | |
} | |
public int GetCuePriority (ushort cueID) | |
{ | |
} | |
public void SetCueDefaultFade (ushort cueID, FadeDirectionID fadeDirectionID, FadeCurveShapeID fadeCurveShapeID, uint duration) | |
{ | |
} | |
public void SetCueDspParameter (ushort cueID, DspParameterID dspParamID, int value) | |
{ | |
} | |
public void SetCueSyncGroup (ushort cueID, ushort syncGroupID) | |
{ | |
} | |
public void SetCueMixGroup (ushort cueID, ushort mixGroupID) | |
{ | |
} | |
public void SetCueMediaHandling (ushort cueID, MediaHandlingTypeID mediaHandlingTypeID) | |
{ | |
} | |
public void PreloadCueMedia (ushort cueID) | |
{ | |
} | |
public void UnloadCueMedia (ushort cueID) | |
{ | |
} | |
// variables and functions | |
public void SetVariable (VariableTypeID variableTypeID, byte variableID, int value) | |
{ | |
} | |
public int GetVariable (VariableTypeID variableTypeID, byte variableID) | |
{ | |
} | |
public int EvaluateExpression (Expression expression) | |
{ | |
} | |
public int GetTime () | |
{ | |
} | |
public int GetRandom (ushort MinValue, ushort MaxValue) | |
{ | |
} | |
// script control flow | |
public void Label (ushort labelID) | |
{ | |
} | |
public void ConditionalBranch (Expression expression, ushort labelID) | |
{ | |
} | |
public void TimeDelay (uint duration) | |
{ | |
} | |
public void CallScript (ushort scriptID) | |
{ | |
} | |
public void LaunchScript (ushort scriptID) | |
{ | |
} | |
// chunk pool and chunk sequencing | |
public int GetTotalPoolSize () | |
{ | |
} | |
public void IncludeInNarrowing (ushort chunkID, NarrowingInclusionRuleID narrowingInclusionRuleID) | |
{ | |
} | |
public void NarrowPool (NarrowingRuleID narrowingRuleID, ushort narrowingParameter) | |
{ | |
} | |
public int GetNarrowedPoolSize () | |
{ | |
} | |
public void AddChunkToNarrowedPool (ushort chunkID) | |
{ | |
} | |
public void SetChunkOrderTag (ushort chunkID, ushort OrderTag) | |
{ | |
} | |
public int GetChunkOrderTag (ushort chunkID) | |
{ | |
} | |
public void SetChunkLRUOrder (ushort chunkID, ushort LruOrder) | |
{ | |
} | |
public int GetChunkLRUOrder (ushort chunkID) | |
{ | |
} | |
public void Sort (SortTypeID sortTypeID) | |
{ | |
} | |
public void SetChunkPickWeight (ushort chunkID, short PickWeight) | |
{ | |
} | |
public int GetChunkPickWeight (ushort chunkID) | |
{ | |
} | |
public void SetChunkPickWeights (short MaxPickWeight, short MinPickWeight, byte weightingCurveID) | |
{ | |
} | |
public int Pick (PickTypeID pickTypeID, ushort PickParameter) | |
{ | |
} | |
public void SetNextChunk (ushort chunkID) | |
{ | |
} | |
public void SetNextTransition (ushort transitionID) | |
{ | |
} | |
// playback control | |
public void PlayChunk (ushort chunkID) | |
{ | |
} | |
public void SetPlayerTransportState (TransportStateID transportStateID) | |
{ | |
} | |
public int GetPlayerTransportState () | |
{ | |
} | |
public void Fade () | |
{ | |
} | |
public void ReleasePlayer () | |
{ | |
} | |
public void FadeAndReleasePlayer () | |
{ | |
} | |
// chunk | |
public void SetChunkFade (FadeDirectionID fadeDirectionID, FadeCurveShapeID fadeCurveShapeID, uint duration) | |
{ | |
} | |
public void SetChunkPriority (ushort chunkID, ushort Priority) | |
{ | |
} | |
public int GetChunkPriority (ushort chunkID) | |
{ | |
} | |
public void SetChunkDspParameter (ushort chunkID, DspParameterID dspParamID, int value) | |
{ | |
} | |
public void SetChunkSyncGroup (ushort chunkID, ushort syncGroupID) | |
{ | |
} | |
public void SetChunkMixGroup (ushort chunkID, ushort mixGroupID) | |
{ | |
} | |
public void SetTrackMute (ushort chunkID, byte TrackID, MuteOrUnmuteID muteOrUnmuteID) | |
{ | |
} | |
public void SetChunkChunkGroup (ushort chunkID, ushort chunkGroupID) | |
{ | |
} | |
public int GetChunkChunkGroup (ushort chunkID) | |
{ | |
} | |
public void SetChunkMediaHandling (ushort chunkID, MediaHandlingTypeID mediaHandlingTypeID) | |
{ | |
} | |
public void SetChunkCancelScript (ushort scriptID) | |
{ | |
} | |
public void SetChunkTempoMap (ushort chunkID, ushort smfChunkID) | |
{ | |
} | |
public void SetChunkEntryPointsRule (ushort chunkID, ushort positionRuleID) | |
{ | |
} | |
public void SetChunkExitPointsRule (ushort chunkID, ushort positionRuleID) | |
{ | |
} | |
public void PreloadChunkMedia (ushort chunkID) | |
{ | |
} | |
public void ReleaseChunkMedia (ushort chunkID) | |
{ | |
} | |
// chunkgroup | |
public void LoadMediaForChunkGroup (ushort ChunkGroupID) | |
{ | |
} | |
public void UnloadMediaForChunkGroup (ushort ChunkGroupID) | |
{ | |
} | |
// mixgroup | |
public void SetMixGroupDspParameter (ushort mixGroupID, DspParameterID dspParameterID, int value) | |
{ | |
} | |
// syncgroup | |
public void SetSyncGroupDspParameter (ushort syncGroupID, DspParameterID dspParameterID, int value) | |
{ | |
} | |
public int GetSyncGroupBars (ushort syncGroupID) | |
{ | |
} | |
public int GetSyncGroupBeats (ushort syncGroupID) | |
{ | |
} | |
public int GetSyncGroupTicks (ushort syncGroupID) | |
{ | |
} | |
} | |
public struct Expression | |
{ | |
byte OpCode { get; set; } | |
uint Operand { get; set; } | |
} | |
public enum FadeDirectionID | |
{ | |
FadeIn, | |
FadeOut | |
} | |
public enum MediaHandlingTypeID | |
{ | |
InMemoryFileLoad, | |
InMemoryNetworkLoad, | |
StreamedFile, | |
StreamedNetwork, | |
} | |
public enum MuteOrUnmuteID | |
{ | |
Unmute, | |
Mute, | |
} | |
public enum NarrowingInclusionRuleID | |
{ | |
Always, | |
FollowNarrowingRule, | |
Never | |
} | |
public enum NarrowingRuleID | |
{ | |
SelectAll, | |
NLRU, | |
HasMetadataTag, | |
NoMetadataTag, | |
OrderTagGreater, | |
OrderTagLess, | |
SelectChunkGroup, | |
ExcludeNMRU, | |
} | |
public enum PickTypeID | |
{ | |
Random, | |
Index, | |
IndexFromLocal, | |
IndexFromLocalAutoDec, | |
IndexFromLocalAutoInc, | |
IndexFromCue, | |
IndexFromCueAutoDec, | |
IndexFromCueAutoInc, | |
IndexFromGlobal, | |
IndexFromGlobalAutoDec, | |
IndexFromGlobalAutoInc, | |
} | |
public enum SortTypeID | |
{ | |
AsIs, | |
ByLRU, | |
ByOrderTag, | |
ByChunkID, | |
ByName, | |
ReverseList, | |
Randomize, | |
ByFirstUse, | |
ByDuration, | |
ByMediaSize, | |
ByChunkGroupID, | |
} | |
public enum TransportStateID | |
{ | |
Play, | |
Pause, | |
Stop, | |
WaitForSync, | |
} | |
public enum VariableTypeID | |
{ | |
Local, | |
Cue, | |
Global, | |
} | |
public enum WeightingCurveID | |
{ | |
Equal, | |
Decreasing, | |
Increasing, | |
Gaussian, | |
EitherEnd, | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment