[c++] hoe pak je de naam van de soundblaster

Pagina: 1
Acties:
  • 103 views sinds 30-01-2008
  • Reageer

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
Hoi!
ik ben een echte newbie in c++
snap het hier en daar wel een beetje,
maar ik wil weten hoe je simpel de naam van je soundblaster kan pakken. kan toch wel geloof ik?
of kan het niet?

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

ehm ik begrijp niet echt wat je bedoelt... wat probeer je te pakken te krijgen? De fabrikant van je geluidskaart ofzo :?

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
nou ehh 'sound blaster live' ofzo :)
zo moeilijk kan dat toch niet zijn is er iets specials wat ik dat moet includen zodat ik het makelijk te pakken krijg?

Verwijderd

Enumereer je directsound devices? zit vast wel een pakkende text tussen

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
ehh ja ehh wat?
snap er niks van laat ik het maar maar even simpeler houden dan :)
wat voor leuke dingen kan je nog meer met c++ doen ?
eigen os schrijven? >:)

Verwijderd

Mischien bedoeld ie hoe ie zijn soundblaster moet aansturen
Als dat het geval is moetje maar eens in de docs kijken van directsound of directmusic op msdn

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
ehm nee ik wil de naam :)
wil een mirc dll maken :)
als je dan $dll(blaat.dll,sb,_) doet dat dat er dan sblive uitkomt ofzo :)

Verwijderd

waveOutGetDevCaps is your thing...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
WAVEOUTCAPS:
typedef struct { 
    WORD    wMid; 
    WORD    wPid; 
    MMVERSION vDriverVersion; 
    CHAR    szPname[MAXPNAMELEN]; <- :)
    DWORD     dwFormats; 
    WORD    wChannels; 
    WORD    wReserved1; 
    DWORD     dwSupport; 
} WAVEOUTCAPS; 

MMRESULT waveOutGetDevCaps(
  UINT uDeviceID,   
  LPWAVEOUTCAPS pwoc,  
  UINT cbwoc         
);

  • SG
  • Registratie: Januari 2001
  • Laatst online: 13-09 07:59

SG

SG surft naar info hardewaren

misschien door het uitlezen van 'n register key die de sounddevice aangeeft en dan de naam string. voor weergave in jouw appie.

En anders sounddevice enumeraties met uitgebreide naamstring wat al genoemd is

X399 Taichi; ThreadRipper 1950X; 32GB; VEGA 56; BenQ 32" 1440P | Gigbyte; Phenom X4 965; 8GB; Samsung 120hz 3D 27" | W2012SER2; i5 quadcore | Mac mini 2014 | ATV 4g | ATV 4K


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// blaat.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include "pcrt32.h"

int __stdcall SB(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL print, BOOL nopause)
{
_fstrcpy( data , waveOutGetDevCaps);
return 3;
}


typedef struct { 
    WORD    wMid; 
    WORD    wPid; 
    MMVERSION vDriverVersion; 
    CHAR    szPname[MAXPNAMELEN]; <- :)
    DWORD     dwFormats; 
    WORD    wChannels; 
    WORD    wReserved1; 
    DWORD     dwSupport; 
} WAVEOUTCAPS; 

MMRESULT waveOutGetDevCaps(
  UINT uDeviceID,   
  LPWAVEOUTCAPS pwoc,  
  UINT cbwoc         
);

zo is het dus niet goed :(
Ik doe het helemaal fout geloof ik :'(

hoe moet het wel?

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
bah bah bah :(
ik download sysinfo.h van http://softwaredev.earthweb.com/article/0,,10455_627401,00.html
ik voeg alleen
#include "sysinfo.h"
toe in mijn source
en meteen (tijden compilen natuurlijk) :
code:
1
2
3
4
5
6
7
8
--------------------Configuration: blaat - Win32 Debug--------------------
Compiling...
blaat.cpp
c:\program files\microsoft visual studio\myprojects\blaat\sysinfo.h(13) : error C2079: 'Sysinfo' uses undefined class 'AFX_EXT_CLASS'
c:\program files\microsoft visual studio\myprojects\blaat\sysinfo.h(13) : error C2239: unexpected token '{' following declaration of 'Sysinfo'
Error executing cl.exe.

blaat.dll - 2 error(s), 0 warning(s)

:(
zitten er dan fouten in die sysinfo.h?

  • Sponz
  • Registratie: Juni 2001
  • Niet online

Sponz

nul nest parfait saif moi

Ik denk dat dit voor een newbie wat hoog gegrepen is. Ken je de C++ basis wel een beetje?

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
Jaja beetje ken ik dat :)
maar ik snap al wat er fout gaat,
How to use:
1_Just add the SysInfo.h into your project. <= prima :)
2_Add <path>TNTSI.lib into: Project/Settings/Link/Library modules. << die dir bestaat niet eens moet ik die aan maken ofzo?

Verwijderd

Dit moet je denk ik doen door assembler, oftelwel je moet de poort van de geluidskaart aanroepen en dan geeft hij en code/id terug(Denk ik) en zo weet je dus welke geluidkaart het is. Vraag me niet hoe het moet want zo goed ben ik ook niet in assembler. Kan alleen videokaart aansturen en pixels aansturen en ik kan er dan via asm een muis mee aansturen en maken. Veel meer kan ik ook niet :( .

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op vrijdag 26 oktober 2001 22:32 schreef Martink het volgende:
Jaja beetje ken ik dat :)
maar ik snap al wat er fout gaat,
How to use:
1_Just add the SysInfo.h into your project. <= prima :)
2_Add <path>TNTSI.lib into: Project/Settings/Link/Library modules. << die dir bestaat niet eens moet ik die aan maken ofzo?
Afbeeldingslocatie: http://members.home.nl/klimstra/ps.jpg

daar moet je TNTSI.lib aan toevoegen (eerst in de goede dir zetten) :)

Verwijderd

Op vrijdag 26 oktober 2001 22:32 schreef Martink het volgende:
Jaja beetje ken ik dat :)
2_Add <path>TNTSI.lib into: Project/Settings/Link/Library modules. << die dir bestaat niet eens moet ik die aan maken ofzo?
Nee , je gaat naar het projects pulldown menu, daar kies je settings, en dan vul je op het link tabblad bij je library modules die lib in.......*DOH*

dit gaat overigens je compile error niet oplossen. ik heb geen zin om zelf in die source te kijken maar het lijkt er op dat je mfc support moet hebben.

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
Op vrijdag 26 oktober 2001 22:36 schreef jasperh17 het volgende:
Dit moet je denk ik doen door assembler, oftelwel je moet de poort van de geluidskaart aanroepen en dan geeft hij en code/id terug(Denk ik) en zo weet je dus welke geluidkaart het is. Vraag me niet hoe het moet want zo goed ben ik ook niet in assembler. Kan alleen videokaart aansturen en pixels aansturen en ik kan er dan via asm een muis mee aansturen en maken. Veel meer kan ik ook niet :( .
wat ken jij veel zeg :)
maar hoe moet dat dan :'(
zo komt windows zeker ook te weten wat voor een geluidskaart het is?

Verwijderd

Waarom luister je niet gewoon naar GrAviTy? zo moeilijk is het niet...maar vooruit omdat ik in een newbie vriendelijke bui ben fijne sleur en pleur code zodat je nix meer zelf hoeft te doen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <Mmsystem.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
    unsigned int i;
    WAVEOUTCAPS blaat;
    for (i=0; i<waveOutGetNumDevs(); i++)
    {
        if (MMSYSERR_NOERROR==waveOutGetDevCaps(i,&blaat,sizeof(blaat)))
        {
            printf("#%d %s\n",i,blaat.szPname);
        }
    }       
    return 0;
}

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
jamaar hoe moet ik dan dan toepassen in mijn source wat een stukje omhoog staat?

Verwijderd

Wow je hebt *ECHT* geen idee waarmee je bezig bent he? :+ waarom doe je dit als ik vragen mag?

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
Ik weet het ook niet meer :'(
dit is veel moeilijker dan ik dacht weet iemand mischien iets simpelers voor mij, ik heb al dll bestandje gemaakt dat 'blaat' terug geeft :)
dus ik dacht dan kan ik ook wel dlletje maken voor mirc die de naam van de soundblaster terug geeft, maar toch niet.
is er mischien iets makelijkers dat mijn dlletje terug kan sturen naar mirc? (mirc = irc client voor mensen die dat niet wisten)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:46

Creepy

Tactical Espionage Splatterer

"Hey.. kijk eens wat ik gemaakt heb.. als ik dit en dit doe in Mirc dan geeft ie de string identificatie van mijn geluidskaart.. cool he... I Ownz y0ur 4zzz with C++ c0d1ng"

Daarom doet ie het misschien?? :)
(ok.. gemeen ja)
maar blegh.. ga niet van dit soort dingen vragen als je C/C++ niet eens fatsoenlijk snapt..

Probeer dan eerst eens een DLL te maken.. daarna een DLL met een functie die een string teruggeeft (*char)
Probeer dan eens uit te vogelen of je die soundblaster string ergens vandaan kan halen.. en probeer dat dan als LAATSTE te combineren..
als dat eerst al niet eens lukt... stoppen, en een C++ boek erbij pakken..

edit:
ah.. ik ben weer iets te snel.. een DLL maken die een string terug geeft lukt je al... sowwy!

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Komop zo'n grote source is het niet, je moet toch wel een klein beetje een idee hebben waar je moet beginnen?

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
Nee ik snap niks van jou source :(
en krijg het niet eens als een win32 aplication aan de praat :'(
en ik kopieer jou source precies :'(
ben een mislukkeling. en zo een c++ boek ken je in de bieb ook niet eens meer krijgen.

Verwijderd

Je krijgt waarschijnlijk een link error, je moet Winmm.lib even in dat schermpje waar net die grote rode cirkel bij stond toevoegen.

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
hmm ja maar als ik het dan doe zie ik niks als ik het start dat ding doet niks
doe ik zeker weer iets fout ofzo :'(
waar zijn nederlandse manual's :?
of wat zijn makelijkere dingen om te maken?
ik dacht echt dat dit makelijk was :)
maar moeilijker dan ik dacht dus

Verwijderd

Nederlandse manuals? wheheh :Y) En hmmz veel simpeler dan 2 apicalls kan ik het eigenlijk niet maken hoor...

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
dat is dus het makelijkste
dus ik kan nog helemaal niks in C++ :'(
laat ik dan toch maar nog een keer dat gedownloade boekje
'c++ in 21 days' doorlezen mischien ken ik het daarna wel *D

Verwijderd

Op vrijdag 26 oktober 2001 22:36 schreef jasperh17 het volgende:
Dit moet je denk ik doen door assembler, oftelwel je moet de poort van de geluidskaart aanroepen en dan geeft hij en code/id terug(Denk ik) en zo weet je dus welke geluidkaart het is. Vraag me niet hoe het moet want zo goed ben ik ook niet in assembler.
Uhm ja dat kan en uiteindelijk moet windoze het zo ook doen maar onders windows is het veel makkelijker omdat het echte programmeerwerk daar al door andere mensen gedaan is (de mensen die de drivers hebben geschreven). Maar in assembler en zo gaat dat nogal heel moeilijk omdat dat per kaart weer anders is.. kweet wel hoe je sound blaster compatibles moet detecten. Van veel kaarten is het VendorID ook via de PCI bus te achterhalen
Kan alleen videokaart aansturen en pixels aansturen en ik kan er dan via asm een muis mee aansturen en maken. Veel meer kan ik ook niet :( .
mov ax, 0x1; int $33 en *((unsigned char*)0xA0000) = 1; ;)

Maar uhm, als je het onder windoze doet zal dit waarschijnlijk beter werken:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <windows.h>
#include <iostream.h>
#include <mmsystem.h>

int main(int argc, char* argv[])
{
    int NuminCards,NumAux, NumoutCards;
    WAVEOUTCAPS waveOutCaps;
    WAVEINCAPS waveInCaps;
    AUXCAPS auxCaps;

    // Get Output Devices
    NumoutCards = waveOutGetNumDevs();
    cout << "NumOutCards = "<< NumoutCards << endl;

    if (NumoutCards > 0)
    {
        for (int i=0;i<NumoutCards;i++)
        {
            waveOutGetDevCaps(i, &waveOutCaps, sizeof(WAVEOUTCAPS));
            cout << "waveoutcaps.szPname: " << waveOutCaps.szPname <<endl;
        } 
    }

    // Get Input Devices
    NuminCards = waveInGetNumDevs();
    cout<< "NuminCards = "<< NuminCards <<endl;

    if (NuminCards > 0)
    {
        for (int i=0;i<NuminCards;i++)
        {
            waveInGetDevCaps(i, &waveInCaps, sizeof(WAVEINCAPS));
            cout << "waveInCaps.szPname: " << waveInCaps.szPname <<endl;
        } 
    }

    NumAux = auxGetNumDevs();

    cout << "NumAux = "<< NumAux <<endl;

    if (NumAux > 0)
    {

        for (int i=0;i<NumAux;i++)
        {
            auxGetDevCaps(i,&auxCaps, sizeof(AUXCAPS));
            cout << "auxCaps.szPname: " << auxCaps.szPname <<endl;
        } 
    }
    
    return 0;

}

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 15-09 12:33
Hahah, dit is een erg vermakelijk topic :D

Waar is Joska eigenlijk? 8-)

Verwijderd

Volgens mij zat ze vanmiddag in de huiskamer?

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 14-09 13:52
zou Joska aan deze topic dan een slotje hebben gehangen?
Pagina: 1