LCDInfo.com
http://forum.lcdinfo.com/

spectrum analysator
http://forum.lcdinfo.com/viewtopic.php?f=9&t=147
Page 1 of 1

Author:  Miikka [ Wed Feb 19, 2003 13:53 ]
Post subject:  spectrum analysator

Eihän tämä varsinaisesti tänne kuulu mutta kuitenkin.

Tietääkö joku miten winampista saan nuo pomppivat palkit ensin vääntämääni VB-softaan ja siitä sitten LCD:lle, jälkimmäinen kyllä onnistuu..

entä filename winampista että saan ID3tagit luettua.. winappiin on ohjaus VB:n kautta kunnossa..
Code:
SendMessage WM_USER, index, 211
palauttaa vain oudon numerosarjan..

index eli biisin numero kyllä tulee oikein..

Author:  Henri [ Wed Feb 19, 2003 15:59 ]
Post subject: 

Tuota analyzer dataa ei kai saa luettua kuin winamp pluginien avulla. Eli sinun pitäisi tehdä ensin winamp plugin joka lukee tuon datan ja jakaa sen omalle ohjelmallesi.

WM_USER messageista mielestäni vain 0-135 voi kutsua ulkoisesta ohjelmasta käsin ja 200 ylöspäin ne ovat vain plugineiden käytössä.

Ja tuon WM_USER 211:sta kuuluukin palauttaa pointteri stringiin joka sitten sisältää datan. Itselläni ei ole VB:stä kokemusta, mutta netistä varmaan löytyisi jotain infoa pointtereista.

Author:  Miikka [ Wed Feb 19, 2003 16:49 ]
Post subject: 

Minäkin sain sellasen käsityksen ettei kaikkia WM_USERIn systeemejä saa luettua.. Onko sulla ID3 tagi tukea LCDInfossa?

Nuo pointteritkin on hepreaa c++:ssallakin ni vielä VB:llä..pittääpä käskyttää kuukkelia.. :roll:

Author:  Henri [ Wed Feb 19, 2003 17:23 ]
Post subject: 

Eipä ole ID3 tag tukea LCDInfossa. Eräässä vaiheessa tuota suunnittelin, mutta juuri tämän WM_USER systeemin takia se sitten jäi.

Jonkin aikaa sitten aloitin tekemään winamp 3 pluginia joka nuo tiedot jakaisi, mutta pitäisi yrittää saada se jossain vaiheessa loppuun. Myös winamp 2 plugin on suunnitelmissa.

Author:  Miikka [ Wed Feb 19, 2003 17:28 ]
Post subject: 

Löyty VB:n string pointteri systeemi.. Minun on kai pakko tehä Plug-in joka jakaa filenamen ja analyzer systeemit, koska nuo on ehottomia autokäytössä, "Ajotietokone" tässä vaiheessa syrjään ja PII 350:nen pyörittelemään autoon MP3:sia..

EDIT:
Onko sulla minkaanlaista käsitystä miten tiedot kannattas jakaa plug-inistä?

Author:  Henri [ Wed Feb 19, 2003 17:51 ]
Post subject: 

No tässä jotain koodin pätkää miten itse olen tuota toteuttanut. Jaetusta muistista löytyy varmasti lisää tietoa netistä ja MSDN:stä. Eli siis tuo tietue on jaettuna ja sen tietoja päivitetään pluginissa.

Code:
struct SharedMem{
     int     VULeft;
     int     VURight;
     char     Artist[255];
     char     Album[255];
     char     Title[255];
     char     Genre[50];
     char     Comment[255];
     int     SongPosition;
     int     SongLength;
     int     PlayListPosition;
     int     PlayListSize;
};

SharedMem *ptr;
HANDLE hMapFile;

void WACNAME::onCreate() {
  // *** Do startup stuff here that doesn't require you to have a window yet
   
   hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE,    // current file handle
    NULL,                              // default security
    PAGE_READWRITE,                    // read/write permission
    0,                                 // max. object size
    sizeof(SharedMem),                                 // size of hFile
    "LCDINFOWA3");            // name of mapping object

   if (hMapFile == NULL)
   {
      //ShowMessage("Could not create file mapping object.");
   }

   ptr = (SharedMem *)MapViewOfFile(hMapFile, // handle to mapping object
    FILE_MAP_ALL_ACCESS,               // read/write permission
    0,                                 // max. object size
    0,                                 // size of hFile
    0);                                // map entire file

   if (ptr == NULL)
   {
      //ShowMessage("Could not map view of file.");
      CloseHandle(hMapFile);
   }

   timerclient_setTimer(updTimer, updTimerDuration);
}

void WACNAME::onDestroy() {
   UnmapViewOfFile(ptr);
   CloseHandle(hMapFile);
}


ja sitten tuon jaetun muistin lukemiseen
Code:
hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS, // read/write permission
    FALSE,                             // Do not inherit the name
    "LCDINFOWA3");            // of the mapping object.

if (hMapFile == NULL)
{
    ShowMessage("Could not open file mapping object.");
}
 
ptr = (SharedMem *)MapViewOfFile(hMapFile, // handle to mapping object
    FILE_MAP_ALL_ACCESS,               // read/write permission
    0,                                 // max. object size
    0,                                 // size of hFile
    0);                                // map entire file
 
if (ptr == NULL)
{
    ShowMessage("Could not map view of file.");
}
else
{
  Memo1->Lines->Add("Artist:");
  Memo1->Lines->Add(ptr->Artist);
  Memo1->Lines->Add("Album:");
  Memo1->Lines->Add(ptr->Album);
  Memo1->Lines->Add("Title:");
  Memo1->Lines->Add(ptr->Title);
  Memo1->Lines->Add("Genre:");
  Memo1->Lines->Add(ptr->Genre);
  Memo1->Lines->Add("Year:");
  Memo1->Lines->Add(ptr->Year);
  Memo1->Lines->Add("Comment:");
  Memo1->Lines->Add(ptr->Comment);
  Memo1->Lines->Add("Track:");
  Memo1->Lines->Add(ptr->Track);
  Memo1->Lines->Add("Length:");
  Memo1->Lines->Add(ptr->Length);
  Memo1->Lines->Add("Size:");
  Memo1->Lines->Add(ptr->Size);

  Memo1->Lines->Add("Info:");
  Memo1->Lines->Add(ptr->Info);

  Memo1->Lines->Add("SongLength:");
  Memo1->Lines->Add(ptr->SongLength);
  Memo1->Lines->Add("SongPosition:");
  Memo1->Lines->Add(ptr->SongPosition);
  Memo1->Lines->Add("PlayListPosition:");
  Memo1->Lines->Add(ptr->PlayListPosition);
  Memo1->Lines->Add("PlayListSize:");
  Memo1->Lines->Add(ptr->PlayListSize);
  Memo1->Lines->Add("BitRate:");
  Memo1->Lines->Add(ptr->BitRate);
  Memo1->Lines->Add("SampleRate:");
  Memo1->Lines->Add(ptr->SampleRate);



  Memo1->Lines->Add("********************");

}

Author:  Plasma [ Wed Feb 19, 2003 18:37 ]
Post subject: 

Ehmm. :roll:
And we non-finnish people would like an explanation... :wink:

Author:  Henri [ Wed Feb 19, 2003 20:39 ]
Post subject: 

We discussed about getting the current file information and analyzer data from winamp but what I know it isn't possible from external app.

The source I posted can be used to create a winamp plugin that shares the data.

Author:  Plasma [ Wed Feb 19, 2003 22:44 ]
Post subject: 

ok, just wondered.

Author:  Miikka [ Thu Feb 20, 2003 15:52 ]
Post subject: 

PostMessage() funktiolla saa kans lähetettyä näköjään..

Page 1 of 1 All times are UTC + 2 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/