Seite 1 von 1

Sound::getTag (FMOD_Sound_GetTag) [Updated]

Verfasst: 08.03.2011 00:11
von R4z0r1989
Hey Jungs und Mädls,

ich werde jetzt vielleicht auf Gelächter stoßen, aber ich verzweifle grad daran eine Float als Parameter nach FMOD zu bringen. Und zwar genau an dieser Stelle:

Code: Alles auswählen

...
Global fmod_decka_volume.f = 0.0
...
fmod_decka_volume = GetGadgetState(#TrackBar_DeckA_Volume)/100
CallFunction(0, "FMOD_Channel_SetVolume", fmod_decka_channel, fmod_decka_volume.f)
...
Ich bin für wirklich jede Hilfe dankbar.


MFG R4z0r1989

Re: Float als Parameter für FMOD

Verfasst: 08.03.2011 00:45
von ts-soft

Code: Alles auswählen

Prototype Channel_SetVolume(fmod_decka_channel, fmod_decka_volume.f)
...
Global FMOD_Channel_SetVolume.Channel_SetVolume = GetFunction(0, "FMOD_Channel_SetVolume")
Global fmod_decka_volume.f = 0.0
...
fmod_decka_volume = GetGadgetState(#TrackBar_DeckA_Volume)/100
FMOD_Channel_SetVolume(fmod_decka_channel, fmod_decka_volume.f)
... 

Re: Float als Parameter für FMOD

Verfasst: 08.03.2011 10:52
von Kiffi
<OT>
@R4z0r1989: Überprüfe mal Deine Signatur
</OT>

Grüße ... Kiffi

Re: Float als Parameter für FMOD

Verfasst: 08.03.2011 20:10
von R4z0r1989
danke dir hat prima funktioniert :-)

hab jetzt ein andres Problem. Ich steig nicht so ganz dahinter wie ich an die Tags(Interpret,Titel,Jahr,ect.) bekomm.
Laut FMOD Referenz heisst der Befehl Sound::getTag (FMOD_Sound_GetTag)
Ich bin mal wieder für jede Hilfe dankbar.

MFG R4z0r1989

PS ich nutz die DLL direkt, also ohne Wrapper oder Lib.
PSS hier die der auszug aus der doku:

Code: Alles auswählen

Sound::getTag
Retrieves a descriptive tag stored by the sound, to describe things like the song name, author etc.  

C++ Syntax

FMOD_RESULT Sound::getTag(
  const char *  name, 
  int  index, 
  FMOD_TAG *  tag
);

C Syntax

FMOD_RESULT FMOD_Sound_GetTag(
  FMOD_SOUND *  sound,
  const char *  name, 
  int  index, 
  FMOD_TAG *  tag
);

Parameters

name

Optional. Name of a tag to retrieve. Used to specify a particular tag if the user requires it. To get all types of tags leave this parameter as 0 or NULL. 

index

Index into the tag list. If the name parameter is null, then the index is the index into all tags present, from 0 up to but not including the numtags value returned by Sound::getNumTags.
If name is not null, then index is the index from 0 up to the number of tags with the same name. For example if there were 2 tags with the name "TITLE" then you could use 0 and 1 to reference them.
Specifying an index of -1 returns new or updated tags. This can be used to pull tags out as they are added or updated. 

tag

Pointer to a tag structure. This will receive 

 

Return Values

If the function succeeds then the return value is FMOD_OK.
If the function fails then the return value will be one of the values defined in the FMOD_RESULT enumeration.


 

Remarks

The number of tags available can be found with Sound::getNumTags. The way to display or retrieve tags can be done in 3 different ways.
All tags can be continuously retrieved by looping from 0 to the numtags value in Sound::getNumTags - 1. Updated tags will refresh automatically, and the 'updated' member of the FMOD_TAG structure will be set to true if a tag has been updated, due to something like a netstream changing the song name for example.
Tags could also be retrieved by specifying -1 as the index and only updating tags that are returned. If all tags are retrieved and this function is called the function will return an error of FMOD_ERR_TAGNOTFOUND.
Specific tags can be retrieved by specifying a name parameter. The index can be 0 based or -1 in the same fashion as described previously. 

Und hier noch die Structure:

Code: Alles auswählen

FMOD_TAG
Structure describing a piece of tag data.  


Structure

typedef struct {
  FMOD_TAGTYPE  type;
  FMOD_TAGDATATYPE  datatype;
  char *  name;
  void *  data;
  unsigned int  datalen;
  FMOD_BOOL  updated;
} FMOD_TAG;

Members

type

[r] The type of this tag. 

datatype

[r] The type of data that this tag contains 

name

[r] The name of this tag i.e. "TITLE", "ARTIST" etc. 

data

[r] Pointer to the tag data - its format is determined by the datatype member 

datalen

[r] Length of the data contained in this tag 

updated

[r] True if this tag has been updated since last being accessed with Sound::getTag 

 

Remarks

Members marked with [r] mean the variable is modified by FMOD and is for reading purposes only. Do not change this value.
Members marked with [w] mean the variable can be written to. The user can set the value.