[RESOLU] {C++} C++ Builder 6 et Winamp

Statut
N'est pas ouverte pour d'autres réponses.

.Vinc.

Oh, un LamZ !
Bonjour,

Je développe pour le moment un soft avec C++ Builder 6.0 (de Borland)

Et je cherche absolument le moyen de récupérer le titre de la chanson qui est en train de passer dans winamp...

Si quelqu'un a deja trouvé ceci, ce serait sympa de me passer le code... (c'est pas mon genre de prendre des trucs tout fait mais la, j'ai deja tout essayé :? et j'en sort pas :?)

Merci beaucoup !
 

SirSmokeALot

Touriste
Je ne connais pas la réponse à ton problème, mais je crois que sur le forum de http://www.developpez.com/ tu trouveras ta réponse (si tu n'y a pas déjà été!). Poste ta question sur le forum, je suis sûr qu'on t'aidera. :D
 
1er
OP
.Vinc.

.Vinc.

Oh, un LamZ !
SirSmokeALot a dit:
Je ne connais pas la réponse à ton problème, mais je crois que sur le forum de http://www.developpez.com/ tu trouveras ta réponse (si tu n'y a pas déjà été!). Poste ta question sur le forum, je suis sûr qu'on t'aidera. :D
Merci pour ta proposition...
mais j'ai déja evidment été sur developpez.com, cppfrance, codes-sources etc...
 

Xou

I ♥ rien
TITM4v3rick a dit:
http://c.developpez.com/cours/

Jouer des sons Waves

http://glouise.developpez.com/Hamilton.pdf Ce tutoriel explique la façon de jouer tous les fichiers Wave à partir d'un répertoire de base en utilisant le composant MediaPlayer de C++ Builder 6.
Gilles Louise

http://glouise.developpez.com/WaveBCB6.pdf

Bref, il y a un composant MediaPlayer pour jouer des sons et il y a moyens d'ajouter d'autres fonctionnalités.

Faut peut-être que tu expliques ce que tu comptes faire et "comment".
Euh, il veut simplement récupérer le titre des chansons qui passent dans winamp, un peu comme le fait MSN7 je suppose ?
 

noLain

www.wearewise.be
:arrow: http://www.winamp.com/nsdn/winamp/sdk/

Winamp Software Development Kit Released
2004.02.26
In this section of NSDN, we show you how to access Winamp's functionality through external applications. If any of you wanted to build a can opener that ran Winamp, you would need the information provided here. API functions and other code snippets are available in the C/C++ programming language. (...)
CLICK HERE TO DOWNLOAD WINAMP SDK
:pfiou:

[_EDIT_]
en cherchant un peu sur google: je suis tombé sur ca


There are a number of other things you can do to query/control Winamp. For example, this C/C++ code fragment will get the title of the current song playing in Winamp. A simple explanation is that it retrieves Winamp's window title, removes the trailing ' - Winamp'.
Code:
char this_title[2048],*p;
GetWindowText(hwndWinamp,this_title,sizeof(this_title));
p = this_title+strlen(this_title)-8;
while (p >= this_title)
{

if (!strnicmp(p,"- Winamp",8)) break;
p--;

}
if (p >= this_title) p--;
while (p >= this_title && *p == ' ') p--;
*++p=0;
 
1er
OP
.Vinc.

.Vinc.

Oh, un LamZ !
Merci nauhLain !

Franchement, j'avais aussi cherché sur google...

Mais tu dois etre meilleur que moi !

merci (k) :D
 

Roudoudou

Lecteur discret
En fait, il prend le nom de la zik apparait dans le nom de la fenêtre winamp c'est ca ? Fallait y penser :) mais doit y avoir un autre moyen avec l'api winamp.

C'est toujours interessant ce genre de petit projet persos ca fait découvrir plein de petit brols :)
 

eGm_

Gibon Blasé
strnicmp


c'est quoi cette fonction ????
 

Jereck

Α & Ω
Staff
Ouais, parce qu'il suffit d'activer la fonction de Winamp qui fait dérouler le titre dans la barre des tâches et ça foire comme ça ...
 

Roudoudou

Lecteur discret
eGmUBAKA a dit:
strnicmp


c'est quoi cette fonction ????
Code:
if (!strnicmp(p,"- Winamp",8))
certainement un fonction qui compare la contenu d'une string en démarrant de la fin (i pour inverse?).

--> "Mon titre de musique - Winamp"
 

eGm_

Gibon Blasé
[CdC a dit:
Roudoudou]
eGmUBAKA a dit:
strnicmp


c'est quoi cette fonction ????
Code:
if (!strnicmp(p,"- Winamp",8))
certainement un fonction qui compare la contenu d'une string en démarrant de la fin (i pour inverse?).

--> "Mon titre de musique - Winamp"
strcmp c'est pour comparer 2 chaines de char

strcmpi c'est pour comparer 2 chaine sans tenir compte des majuscules et minuscules

mais la je vois pas :pfiou:

Sinon j'ai rien compris de ta phrase
 

Roudoudou

Lecteur discret
eGmUBAKA a dit:
Sinon j'ai rien compris de ta phrase
:D

Je voulais dire que ca regarde si une chaine de caractère ch2 est un suffixe (partir de la fin) d'une autre chaine de caractère ch1.

Dans le cas du titre d'une fenetre winamp on aura, "Mon titre de musique - Winamp". Donc si on prend strnicmp("Mon titre de musique - Winamp", "- Winamp", :cool:, on doit s'attendre à recevoir "true" comme réponse. Puisque "- Winamp" est un suffixe du premiere paramètre.

Le i de strnicmp voudrait dire "Inverse" dans ma logique.

De toute facon, c'est quasi sur que c'est ce que la fonction fait :)
 

eGm_

Gibon Blasé
[CdC a dit:
Roudoudou]
eGmUBAKA a dit:
Sinon j'ai rien compris de ta phrase
:D

Je voulais dire que ca regarde si une chaine de caractère ch2 est un suffixe (partir de la fin) d'une autre chaine de caractère ch1.

Dans le cas du titre d'une fenetre winamp on aura, "Mon titre de musique - Winamp". Donc si on prend strnicmp("Mon titre de musique - Winamp", "- Winamp", :cool:, on doit s'attendre à recevoir "true" comme réponse. Puisque "- Winamp" est un suffixe du premiere paramètre.

Le i de strnicmp voudrait dire "Inverse" dans ma logique.

De toute facon, c'est quasi sur que c'est ce que la fonction fait :)
bien possible :)
 

Roudoudou

Lecteur discret
Voilà de quoi faire avancer le schmilblik

Code:
void waGetMetadata(int nFilePos, const std::string sTag, std::string& sValue)
{
char lpszValue[1024];
memset(lpszValue,0,1024);

// retrieve extended info
extendedFileInfoStruct* pdataex = new extendedFileInfoStruct;
pdataex->filename = (char*)SendMessage(plugin.hwndParent,WM_WA_IPC,nFilePos,IPC_GETPLAYLISTFILE);
pdataex->metadata = (char*)sTag.c_str();
pdataex->ret = lpszValue;
pdataex->retlen = 1024;
SendMessage(plugin.hwndParent,WM_WA_IPC,(WPARAM)pdataex,IPC_GET_EXTENDED_FILE_INFO);
delete pdataex;

sValue = lpszValue;
}
sTag can be "artist","title","album","bitrate", etc.

Before calling it you must get the current Winamp position:

Code:
int nPos = SendMessage(plugin.hwndParent,WM_WA_IPC,0,IPC_GETLISTPOS);
Réponse de: Camillo sur Forum Winamp
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut