begin process at 2010 02 10 09:26:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

Déclarer un tableau de pointers


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Déclarer un tableau de pointers

lundi 4 mai 2009 à 11:05:16 | Déclarer un tableau de pointers

Francky23012301

Membre Club
Salut à tous

Voila j'ai une petite question. Dans la libraire Bass_FX de bass, les types suivants sont définis :

Type
// Echo
    BASS_FX_DSPECHO = Record
        fLevel : FLOAT;              // [0....1....n] linear
        lDelay : Integer;            // [1200..30000]
    end;

// Flanger
    BASS_FX_DSPFLANGER = Record
        fWetDry : FLOAT;             // [0....1....n] linear
        fSpeed : FLOAT;              // [0......0.09]
        lChannel : Integer;          // BASS_FX_DSP_CHANxxx flag/s
    end;

Si on regarde la fonction suivante BASS_FX_DSP_GetParameters(handle:DWord,dsp_fx : integer, par:Pointer), on se rend compte qu'il faut utiliser un pointer .

Suite à cela j'ai deux questions (Deux pour le prix d'une ) :

*Est-il possible de créer un tableau de pointer pour faire un truc du style ?

Procedure Load_DSPParams(DSP:TDSP);
Const
  DSPFlag:Array [0..1] Of Integer =(BASS_FX_DSPFX_FLANGER,BASS_FX_DSPFX_ECHO);
  DSPStructure :Array [0..1] Of Pointer=(BASS_FX_DSPFLANGER,BASS_FX_ECHO );
Begin
  BASS_FX_DSP_GetParameters(DSP.DSPStream,DSPFlag[1], @DSPStructure[1]));
End;

*Si la réponse à la question est positive, est-il possible de lister les sous-types, genre
Procedure Load_DSPParams(DSP:TDSP);
Const
  DSPFlag:Array [0..1] Of Integer =(BASS_FX_DSPFX_FLANGER,BASS_FX_DSPFX_ECHO);
  DSPStructure :Array [0..1] Of Pointer=(BASS_FX_DSPFLANGER,BASS_FX_ECHO );
Var
  IndexParam:Integer;
  Param:Float;
Begin
  BASS_FX_DSP_GetParameters(DSP.DSPStream,DSPFlag[1], @DSPStructure[1]);
  For IndexParam:=0 To DSPStructure[1].Count-1 Do
  Param:=DSPStructure[1,IndexParam];
End;

Merci à vous
lundi 4 mai 2009 à 23:35:16 | Re : Déclarer un tableau de pointers

WhiteHippo

Membre Club
Réponse acceptée !

Bonsoir

De façon triviale (au feeling et sans aucun tests, désolé :) j'aurais écrit quelquechose comme :


type
  tFX = record
    Ptr  : Pointer ;
    Flag : Integer ;
  end ;
 
var
  Echo    : BASS_FX_ECHO ;
  Flanger : BASS_FX_FLANGER;

  TableauFX : array[1..2] of tFX ; // 1..2 ici mais extensible avec d'autres effets

// Initialisation du tableau en dynamique
// convertible normalement en const si tu préfères

Tableau[1].Ptr  := @Flanger ;
Tableau[1].Flag := BASS_FX_DSPFX_FLANGER ;

Tableau[2].Ptr  := @Echo;
Tableau[2].Flag := BASS_FX_DSPFX_ECHO ;

// Appel :
  BASS_FX_DSP_GetParameters(DSP.DSPStream,Tableau[1].Flag, Tableau[1].Ptr );

Cordialement.


"L'imagination est plus importante que le savoir." Albert Einstein

mardi 5 mai 2009 à 13:25:32 | Re : Déclarer un tableau de pointers

Francky23012301

Membre Club
Merci WhiteHippo : Ca répond en partie à ma première question . Il me reste la seconde qui est la plus difficile (De part le fort type de Delphi, je pense que je ne vais pas trouvé de solution )
mardi 5 mai 2009 à 13:48:21 | Re : Déclarer un tableau de pointers

Francky23012301

Membre Club
J'ai trouvé une astuce : Modifier directement le header dans bass (Et cela semble fonctionner ) et donc utiliser ta technique .

Merci encore


Cette discussion est classée dans : integer, bass, fx, dsp, dspstructure


Répondre à ce message

Sujets en rapport avec ce message

Violation D'access avec un sbouton-croll bar [ par Francky23012301 ] Salut  à tous,Bon je suis un peu sur les fesses : ca fait 15 jours que j'essaye de trouver le pourquoi du comment d'une violation d'acces. Attention l Equaliseur avec Bass [ par Francky23012301 ] Salut à tousJ'essaye de faire un équaliseur avec la dll Bass :J'ai deux forms avec le ptit bout de code suivant :Form 2 :Var  fx: array[1..5] of integ class ( besoin d'aide ) [ par popo_joe ] bonjour tt le monde!voila je suis debutant en delphi j'ai les bases ( les pointeurs les procedures les fonctions les variables etc ) seulement j'ai de Mixer des HStream avec BassMix [ par Francky23012301 ] Salut à tous,J'essaye désesperement de mixer différents HStream avec la dll BassMix, mais que neni ca mixe rien du tout . Je vous passe un bout de cod Calage imprimante Matricielle [ par couf ] Bonjour à Tous,  Je vois déja les rires de certains qui vont dire mais c'est quoi ce matérielle de Dinausaure.:-DBref il ya quelques temps j'aurais mo Sauvegarde de vidéo [ par cincap ] Bonjour à toutes et à tous,Quand on utilise le code de base pour enregistrer une vidéo de sa webcam, y a t'il un moyen de sauvegarder cette vidéo dans Bass Analyzer spectrum [ par Nicolas___ ] Bonjour bonsoir , Avant de lire le reste du message , ceci est a l attention des personnes connaissant la librairie BASS j'ai une petite question , ou Extended en Integer [ par Yil2201 ] Salut à tous !Voilà, je cherche un moyen de convertir une variable Extended en variable Integer.J'ai essayé ExtToInt(), fonctionne pas, et ExtendedToI Setter + heritage + evenement [ par Guillemouze ] Salut a tous,j'ai une question un peu complexe melangeant propriete, heritage et evenements.Voila en gros ce que je voudrai faire :type    TMonEvent = Plantage inspecteur d'objet [ par Oniria ] Bonjour,Voila un gros probléme que j'ai actuellement et je ne parvients vraiment pas à comprendre. Je suis en train de développer un composant (mon pr


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales