Re: Windows ME error already resolved

2001-06-29 Thread Valters Vingolds


hjP I am studying Freeamp and I have some questions.  

hjP If I find a bug report that is already resolved, how can I find the part of 
Freeamp source related to the bug report?

hjP I tested Freeamp 2.0.8 on Windows ME before.
hjP Just after exiting from freeamp, fast execution icons and Explorer icons had 
problem(disappeared).
hjP But with Freeamp 2.1.0, I don't have this error on Windows ME. 

hjP Who fixed this problem? what is the bug report number?  And in which module can I 
find the fixed part of Freeamp source? 


Well... it's never easy, even if you're using most advanced
configuration management system.

1) if coding guidelines says that every change in file must be tagged
and described somewhere in file's header, problem would be solved -
somebody would just search source files for certain keywords until
they find the line.

2) we have got CVS with some short descriptions of checkins. if you
search checkin messages, you might hit the one that says it fixed ME
bug.

3) we got bugzilla. it is possible to search in bugzila. you might
find the bug (if it was reported) and read it's history. if it was
fixed by attaching a patch to it - you just examine the patch.

yeah, too bad coupling between CVS and Bugzilla is very loose, at best
you might get Bugzillas bug id in CVS checkin message and that's it..
but this has some advantages, yes.



-- 
Valters WaTT Vingolds

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Enhanced command line user interface.

2001-06-02 Thread Valters Vingolds

Hello Dave,

Sunday, June 03, 2001, 2:16:16 AM, you wrote:

DM I've made several enhancements to FreeAmp's command line user interface
DM (freeampcmd.ui), and think that all its users would benefit from them. How do I
DM go about having these changes incorporated into a formal FreeAmp release?


a good approach is as follows:
1) create nice diff file
2) create a readme file describing what the changes are and how you do
it
3) go to freeamp's bugzilla and open a bug
4) attach the diff and readme to bug
5) announce the bug in this list, post the readme
6) person responsible for component most likely will show up and
accept the patch.
7) if not, keep writing to list, we will find someone with CVS write
access at some point ;)



-- 
Valters WaTT Vingolds

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: unable to compile

2001-05-01 Thread Valters Vingolds

That's musicbrains, I think. You have to update the MusicBrains client, then 
recompile it, and only then proceed with FreeAmp.


On Tuesday 01 May 2001 21:40, you wrote:
 Freeamp crashes when I read the ID3 info.  I'm
 assuming some file's ID3 tag is corrupted. So, I'm
 trying to build a debug version of Freeamp, but I keep
 getting lots of erros. Here's a sample:

 base/aps/apsinterface.cpp:245: `MBQ_LookupMetadata'
 undeclared

 I think I have an out-of-date library somewhere.  Any
 idea?  This happens w/CVS as well as the latest
 tarball.

 Also, are there any design docs available?  I'd like
 to add a view to the explorer of all files sorted by
 Genre.  Thanks.


Nope, haven't seen those. :)

I'd like to add a view where some songs are not grouped by Artist name but 
by Album. Because if album happens to be some compilation, we get a load of 
artists with one or maybe two songs under them. And no convenient way to 
actually listen to the compilation album...


-- 
Valters WaTT Vingolds
___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Track numbers for MP3s

2001-03-14 Thread Valters Vingolds

On Wednesday 14 March 2001 10:11, Colin Marquardt wrote:
[SKIPd]
 What would I use, however, to *create* ID3v2 tags?
 id3lib/id3v2 from sourceforge? Does it really work? A few months
 ago, I heard that id3lib wasn't really up to speed yet, and it seems
 there hasn't been a new release since then...

 Cheers,
   Colin

Well, to create ID3v2 tags you use a dedicated tagger. I last tried Helium 
tagger - worked more or less fine. id3v2 lib should be fine, also. so... 

I think it would be really fun if we hacked Musicbrowser to support editing 
v2 tags. It's tag editor right now is quite powerful.  (powerful means quite 
good mass-editing capabilities)



-- 
"Freedom for those who can buy it!" /Atari Teenage Riot/
Valters "WaTT" Vingolds

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: kde2 integration .ui

2001-02-23 Thread Valters Vingolds

Isaac Richards wrote:

 On 23-Feb-2001 Steve Kemp wrote:
 
   Is there still plans to have a Winamp-like visualization plugin/
 
   I remember a long time ago somebody presented code that would load
  simple WinAmp plugins - is that dead, or have there been updates
  that I've missed?
 
 
 Eventually..  we decided not to graft it on to the existing audio pipeline, and
 instead wait until it can be done properly when stuff's rewritten for 3.0.
 

yeah

and I think, that was me who created the initial support code.
never managed to stop from crashing. I think I was doing something wrong 
with the shared memory. I should ask the guy who wrote MUX plugin for 
Winamp (plugin that loads multiple visualization plugins in itself) how 
he does it.


-- 
Valters "WaTT" Vingolds
... self improvement is masturbation. self destruction might be the answer.

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: musicbrowser improvement (help request)

2001-02-23 Thread Valters Vingolds

Edric Edric wrote:

 I did something similar.  I did some work just for myself that extended 
 the artist/album/track paradigm to let users specify all the orders they 
 want (album/track, or artist/year/track, or I even extended it to 
 composer/artist/album/track (absolutely necessary if you do classical 
 music)).  I'm travelling right now and don't have access to my source.  
 I extended the in-memory data structures representing the music 
 database, and I extended the win32 UI to handle it, I didn't work on the 
 Unix flavors at all.  If you'd like, and if you can wait for a coupla 
 weeks, I'll send you my code changes.
 

I really would be interested! (So, where did you keep 'composer' bit?)

Of course Unix musicbrowser is quite different from Win32 part...
I be digging.


-- 
Valters "WaTT" Vingolds
... self improvement is masturbation. self destruction might be the answer.

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: musicbrowser improvement (help request)

2001-02-22 Thread Valters Vingolds

I don't care - I probably will develop it even if it's only for me.
I am quite tired of those hundreds of one-song artists that show up in 
musicbrowser tree. If you have some 10-20 techno/house collection CD's 
you might know what I am talking about. That's some major "one hit 
group" subculture.

I'd like all those artists to disappear and instead see those 10-20 CD 
titles.


So, any pointer in which source file I should start digging? :-)


Isaac Richards wrote:

 Hm.  Basically, don't plan on anything like this changing/being accepted
 until after the 2.1 release..  And actually, changes like this might not really
 be worth the effort, unless we decide to do a 2.2 release instead of just
 starting on 3.0 as I'm hoping.. 
 
 Isaac
 
 On 21-Feb-2001 Valters Vingolds wrote:
 
 hi.
 
 I have been thinking about one particular feature that I would like to 
 see in musicbrowser. It's about the "My Music" tree view of the MP3.
 
 The tree is constructed of "Artist/Album/Song name" hierarchy. What I 
 would like to do, I'd like to create second pass for to filter the mp3 
 db to determine if the some artists have only one song on "Album" and 
 the "Album" actually has a lot of "Artists" on it.
 
 Basically, I would like to have Various Artists albums to have
 1) their name to be first in hierarchy - replacing "Artist"
 2) probably no artists should be listed below that - proceed to "Song 
 name" listing immediately.
 


-- 
Valters "WaTT" Vingolds
... self improvement is masturbation. self destruction might be the answer.


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: kde2 integration .ui

2001-02-22 Thread Valters Vingolds

Isaac Richards wrote:

 
  It'd be nice to integrate this into the distribution, but I won't do that
  unless the build process is integrated properly -- ie, using 
configure, etc.

nah, the plugin currently does not work that well. if I manage to get it
working properly, I might push for including the code in freeamp
releases, it's not in that state right now.

Maybe it would be OK to check code in ZIP file into CVS anyway? Somebody 
could pick up where I left, if anything.



  It shouldn't be hard at all, just check out how the existing plugins 
decide to
  get built or not in configure.in..

Actually I do think that unified make is not way to go.
As you mention going 3.0, the major wish would be to get plugins / the
various parts of freeamp work - AND BUILD - as independently as
possible. So it would enable various "integration" parts that only build
under exotic configurations to be developed more or less independently
and then plugged in.



-- 
Valters "WaTT" Vingolds
... self improvement is masturbation. self destruction might be the answer.



___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



musicbrowser improvement (help request)

2001-02-21 Thread Valters Vingolds

hi.

I have been thinking about one particular feature that I would like to 
see in musicbrowser. It's about the "My Music" tree view of the MP3.

The tree is constructed of "Artist/Album/Song name" hierarchy. What I 
would like to do, I'd like to create second pass for to filter the mp3 
db to determine if the some artists have only one song on "Album" and 
the "Album" actually has a lot of "Artists" on it.

Basically, I would like to have Various Artists albums to have
1) their name to be first in hierarchy - replacing "Artist"
2) probably no artists should be listed below that - proceed to "Song 
name" listing immediately.

I have converted to Linux, by the way. I took a brief look into GTK 
Musicbrowser and decided to post a query here for time being ;)




another thing that I might be working on: I got me very nice 45Gb 
harddrive, so far some 10gb is filled with MP3. This means I might be 
looking into how FreeAmp scales when fed huge playlists, etc (does this 
qualify as huge?:). You guys probably have access to way more mp3...
Anyway, nice project would be to insure that FreeAmp would not hiccup 
even on terabyte collections ;)


-- 
Valters "WaTT" Vingolds
... self improvement is masturbation. self destruction might be the answer.


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



kde2 integration .ui

2001-02-21 Thread Valters Vingolds

Hi..

Actually, I have created some pretty rudimentary KDE2 tray .ui that sits 
in tray and allows user to Play/Pause and Next,Prev the songs. It's rea 
nice if the player is running in different desktop - the tray is common 
to all desktops.

The ui itself runs as "secondaryUI". Of course there are some issues, 
but currently I can't really fix them.

I have created a readme file for the UI - it's attached. If you read it, 
you might become interested...

I attached the archive with source files and patch for Make process 
(needs some guidance) in Bugzilla under bug 1250.

http://www.freeamp.org/bugzilla/show_bug.cgi?id=1250

Hmmm I had to put it under Linux FreeAmp UI component...

-- 
Valters "WaTT" Vingolds
... self improvement is masturbation. self destruction might be the answer.



kdetray: a UI plugin for KDE2 implementing interface
on tray.

Why it's useful?
~~~
1) Icon on tray is easily accessible from all desktops
2) Fast'n'minimalistic
3) It's a step in direction of integration into kde


How to compile
~~

Patch Makefile.in and Makefile-plugins.in and Makefile.header.in
with kdemake.patch. (I hope I did not forget something... 
write me email if it won't work)

Re-generate makefiles.

Before compiling freeamp you need to modify
Makefile.header KDEINCL= line and Makefile-plugins KDELIBS= and MOC= 
lines and write the correct paths there.
(i assumed KDE2 is in /opt/kde2 and QT is in /usr/lib/qt2 - 
that's where Suse7 puts them)

Known bugs
~~

1) Problem deinitializing. I just can't figure out how
to quit it once it has started. 
See line 148 of kdetray.cpp (as of 25 Jan 2001) - there's 
some #ifdefed code.

The proper shutdown just won't work. kdetray.ui keeps
crashing with SIGSEGV (at least that's what KDE2 is thinking
and dr.konqi says... oh and lately i have messed it up so much
dr konqi won't even run).

Probably KDE calls some routine in kdetray.ui after the
object has already been deleted. (maybe I am not disconnecting
some signals? hmm)

2) The tray icon I made is unspeakably ugly. If someone just could 
convert windows .ico to .xpm and replace the current xpm.

3) ToolTip does not show up when song is first changed in 
'main ui' and you hover the mouse over tray icon. 
In order to for tip to start showing one has to fiddle
with tray icon a little - left click it or right click it, then
tooltip starts appearing. No idea why such behaviour. Maybe
toplevel.cpp should set some 'focus' in code or something.

4) debug prints everywhere. oh, but that's not a bug...

Wishlist


1) Make architecture is not right. 

This here UI takes compile requirements of Freeamp to extreme - 
for it to compile you need to have QT2 and KDE2 (and their brother) 
installed. Basically, it makes no sense to compile it as part of 
regular FreeAmp. It should come with it's own makefile and ./configure
should detect if KDE2 is installed and then opt compile if this UI in.

Probably similar setup should be used for building CorbaUI and other
'integration' ui's.

2) Tray applet.

Make tray applet which could show cool visualizations.



Kudos
~

based on code of cmdline.ui (ok, which .ui was -not- based off that? ;)
based on code of tee cooker toy of kde2.



Valters "WaTT" Vingolds
email: [EMAIL PROTECTED]






Re[2]: Request for testing.

2000-09-29 Thread Valters Vingolds

Hello Chris,

Thursday, September 28, 2000, 02:30:27, you wrote:

CK large catalogs of music.  The tree helps, but when some audiofile with

that's audiophile, OK ?!?! :)

we are talking audiophiles here...

CK alot of money rips his 1000 cds, he needs a search prompt as well.  So
CK it is worth trying to do it Right (tm) the first time, and so I am
CK glad there is discussion about how to do it.

on the historical note - i have followed freeamp progress from
'99 spring, i think... when it was first mentioned on slashdot.org as
GPL mp3 player.

I do admire your courage, don't be put off by my
skeptical attitude.

but still, patch is only good when it is significant improvement
and does not cause much trouble. it is funny how after some project
has been frozen for, say, 10-20 months, most desired
improvement/feature is actually five-ten lines of code... ;)







-- 
Valters "WaTT" Vingolds


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Request for testing.

2000-09-27 Thread Valters Vingolds

Hello Chris,

Wednesday, September 27, 2000, 17:47:04, you wrote:

CK My changes to Metadata to use the HashStore for string storage
CK are far enough along to start thinking about getting someone else
CK to help test it.

(sorry, haven't looked at it or compiled freeamp lately somehow - it's
too much of moving target, i guess...;)

Tell you what - I hear a lot from you how your patch segfaults and
segfaults.
I don't really hear how it saves megabytes and megabytes of memory.

Do you really think introducing the unstability that will have to be
debugged and cleaned up for months is absolutely beneficial?


-- 
Valters "WaTT" Vingolds


___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



diet-freeamp target

2000-06-06 Thread Valters Vingolds

I think it would be very nice if someone created a freeamp target that has
all the extra dependencies removed (as,no httpinput, no plugins, no cd
input, no musicbrowser - only the mp3 player itself).

So, a new developer would be able to compile it a lot faster and maybe not
get the perception that freeamp is so huge that he/she will never grok it.



--
Valters "WaTT" Vingolds
... in order to succeed you have to learn to think of yourself as of a
product. 

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: Queueing Behavior

2000-05-31 Thread Valters Vingolds

Does drag-n-drop of file in musicbrowser from my music tree view to
playlist view work yet?
Should be equivalent of doubleclicking on song. Somehow I find it very
intuitive to use drag-n-drop, but I was a bit annoyed when it didn't work.



Now I have a question for you guys... since we are adding in streams
support does it make sense to queue a stream? should the default
behavior ffor a stream ALWAYS be play immediately?

Well, no... if I want it queued, I mean it. I personally want player to
play when I press Play, not before. I don't play streams that much, though.
But I vote for streams to be considered ordinary files.


--
Valters "WaTT" Vingolds
... in order to succeed you have to learn to think of yourself as of a
product. 

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



RE: errors like this:

2000-05-29 Thread Valters Vingolds

The whole thing goes like this:
Set Freeamp as active project when you first compile.

Then, if you feel like hacking the freeamp ui (the user interface) you set
freeampui as active project and freeamp.exe as executable to run. If you
feel like hacking other part of freeamp, set that other part as active.

To freeamp team  - why leave "MakeTheme" as active when checking into CVS?

MakeTheme has zlib dependency because it compresses theme when making it.
Ofcourse zlib should be added as dependency to it (if visual studio does
not object).



Note that you will need about 150 MB of free space on disk to compile. Be
sure that you don't run out of free space.

At 11:53 5/28/00 -0500, you wrote:
 trying to compile the freeamp project I get this error: (of
 course I dont
 have a correct configuration of my workspace, can you tell me
 how can I do a
 correct cnfiguration, about Tools, Project, Build, etc) please.

Victor,

Try right clicking on the FreeAmp project and setting it to the active
project and then to a Build All.  I'm not sure right off if the MakeTheme
project has a depenency on zlib (don't have the code open right now), but
i'm very sure FreeAmp does, and then you can set MakeTheme to be the active
project and compile it.

mike

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev


--
Valters "WaTT" Vingolds
... in order to succeed you have to learn to think of yourself as of a
product. 

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: New developer - CD Player or ripper

2000-05-07 Thread Valters Vingolds

Have you looked at CDex effort?
(The best CD ripper there is, and open source!)

It's home page is www.cdex.n3.net


At 15:15 4/22/00 -0700, you wrote:
I am interested in helping out with the efforts to
create a CD Player and a CD Ripper. I would like to
know who I should talk to. I would like to be pointed
to the correct parts of the source tree which I should
examine. Also, any design docs or requirements (even
rudimentary) that have been created would be very
helpful.

As I am as yet an unproven member of the team, please
feel free to simply tell me what to do if you feel
that is easier.

=
Derek Bennett
mailto:[EMAIL PROTECTED]
http://TheBennetts.org/derek




--
Valters "WaTT" Vingolds
... in order to succeed you have to learn to think of yourself as of a
product. 

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



bug: tooltip support not working after changing theme

2000-02-27 Thread Valters Vingolds


problem:
maybe you have noticed that tooltip support goes dead after you switch themes.
(after you change to another theme, tooltips won't display).

resolution:
that happens because for some reason in Win32Window::CreateTooltips()
is this code:

if (m_bMindMeldInProgress)
  return;

well... CreateTooltips() gets called on initialization of window AND from
VulcanMindMeld() - exactly while MindMeld is in progress. That is, when
changing themes CreateTooltips does not get executed, but it should.

I could not figure out why this "if" is there - probably added by mistake?
When removed everything works quite fine.


Sorry for not using bugzilla. Keep up the good work! I'll be back a bit
later, maybe bearing some code :) Actually I want to implement "knob"
control (so one could convert some of those immensely cool kjofol skins to
freeamp).  Maybe you can explain me about the state table (TransitionsInfo)
- I can't seem to figure it out. 
--
Valters "WaTT" Vingolds
... in order to succeed you have to learn to think of yourself as of a
product. 

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



those coca cola themes

2000-02-27 Thread Valters Vingolds

hmm, it's nice to see how freeamp gets accepted more and more!

however, what do you say about that coca cola theme 'licence agreement'?
1) they are referring to .fat as "mp3 skin" ... huh?!
2) forbiding to "reverse assemble, reverse compile and otherwise attempt to
create source code" - that includes unpacking, i guess.
this is SICK!!!
3) forbidding to "translate, duplicate, reproduce or copy" - kind of stupid.

well, i would understand if they copyrighted the artwork and left the
distribution alone... i would even understand if they forbid redistribution
because they want everyone to download from their site! but n... 

this is kind of sad. maybe they should fobid using the theme under linux,
for completeness sake. flamebait



--
Valters "WaTT" Vingolds
... in order to succeed you have to learn to think of yourself as of a
product. 

___
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev



Re: BRANDING (logo button)

1999-10-31 Thread Valters Vingolds

At 11:19 10/31/99 -0800, Mark B. Elrod wrote:
not a bad idea... what we might want to do is provie a URL button type
that will take you to a site. that way there could be multiple links. one
to FreeAmp , one to a special site for instance.


hey, don't get so greedy - there is button for freeamp.org in 'About' already.
:)

elrod

Valters Vingolds wrote:

 while I think LOGO button is great idea, in my opinion it is wrong
 to make it to go only to BRANDING_URL site.

 I think skin's creator should be able to set which url his LOGO button
 goes - well, it's quite intuitive that it should point to his (skin's
 creators) webpage - for user to check for skin updates, etc.

 for example - emusic bands could create their own freeamp skins that
 advertise their web presence :)

 --
 Valters "WaTT" Vingolds
 : Well, now we have to learn to think of ourselves as of a product.


--
Valters "WaTT" Vingolds
... in order to succeed you have to learn to think of yourself as of a
product. 



Re: volume gets lost

1999-10-26 Thread Valters Vingolds


did you?
volume is still getting decreased in beta2.
try clicking 'next song' repeatedly for some time.
(didn't have guts to update from CVS today, so I did not look into source).

other:

strange thing, in order to get 'directory' format theme visible in Options
dialog one needs to have directory to end with extension '.FAT'. working as
designed?



At 15:09 10/7/99 -0700, you wrote:
I just fixed all that crap -- it will be in the next commit. Possibly later
today, maybe tomorrow.


--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert
- Original Message -
From: Valters Vingolds [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, October 07, 1999 3:02 PM
Subject: volume gets lost




 But then there is another problem:

 void SoundCardPMO::SetVolume(int32 volume)
 {
// When we begin playing the volume does not get set properly.
// In order to work around that, we'll save the last volume
// settting and then set the volume on the stream after we open
// the stream in init.
waveOutSetVolume(   (HWAVEOUT)WAVE_MAPPER,
 MAKELPARAM( 0x*volume/100,
 0x*volume/100));
m_iLastVolume = volume;
 }

 int32 SoundCardPMO::GetVolume()
 {
 int32 volume = 0;

 waveOutGetVolume((HWAVEOUT)WAVE_MAPPER, (DWORD*)volume);
 (!)volume = (int32)(100 * ((float)LOWORD(volume)/(float)0x));

 return volume;
 }


 These volume (slowly) deteriorates when calling these two.
 I think it is because marked (!) line makes it lose precision and
decrease.

 I can't think of a way how to stop that, currently - maybe you can do it
 better?
 --
 Valters "WaTT" Vingolds



--
Valters "WaTT" Vingolds



theme.ui glitch: play button turns to 'pause' inappropriately

1999-10-08 Thread Valters Vingolds

When 'Play' is pressed, it turns to pause.
If song does not play (file not found or pmo/pmi error) the button should not 
become 'pause' really.
It should remain as 'play'.

Perhaps good solution would be not to do as:
[from HandleControlMessage()]
   if (oControlName == string("Play")  eMesg == CM_Pressed)
   {
   int iState = 0;

   // get control state
   m_pWindow-ControlIntValue(oControlName, false, iState);
   if (iState == 0) // PLAY
   {
   // set button state to PAUSE
   iState = 1;
   m_pWindow-ControlIntValue(oControlName, true, iState);
   m_pContext-target-AcceptEvent(new Event(CMD_Play));
   m_bPlayShown = false;
   }
   else  // PAUSE
   {
   // set button state to PLAY
   iState = 0;
   m_pWindow-ControlIntValue(oControlName, true, iState);
   m_pContext-target-AcceptEvent(new Event(CMD_Pause));
   m_bPlayShown = true;
   }
   return kError_NoErr;
   }



but to remove the above button manipulations and leave button state
transitions to code that already is under AcceptEvent():

  case INFO_Playing:
  {
 int iState = 1;
 m_pWindow-ControlIntValue(string("Play"), true, iState);
 m_bPlayShown = true;
 break;
  }   
  case INFO_Paused:
  case INFO_Stopped:
  {
 int iState = 0;
 m_pWindow-ControlIntValue(string("Play"), true, iState);
 m_bPlayShown = true;
 break;
  }   
  case INFO_DoneOutputting:


other:
[from HandeControlMessage()]
   if (oControlName == string("Stop")  eMesg == CM_Pressed)
   {
   int iState = 0;
   m_pWindow-ControlIntValue(oControlName, true, iState);
   m_pContext-target-AcceptEvent(new Event(CMD_Stop));
   m_bPlayShown = true;
   return kError_NoErr;
   }
what does code for Stop button do? My guess is disable it, but 
how do I know? I could not find where these transitons/states are
defined/documented... aarrgh.

--
Valters "WaTT" Vingolds



theme.ui: patch to accept drag-dropped mp3 files

1999-10-08 Thread Valters Vingolds

I do Win98, as usually.

Here's the patch, I find it very useful for now, that theme for now lacks
other
ways of specifying which mp3 to play (except commandline args - but those
do not even support wildcards...)

I diff'd with -c so one can apply it by hand, not trusting patch.exe to do
job right (and then I don't know if it even would - I have never used PATCH
- except for patching linux kernel, but scripts do that... hmm.

The patch is attached. Probably one will need to update filenames there (or
everything) if one wants this file work with PATCH.EXE.  Teach me diff,
anyone...?


Anyway, this is one messy way to do it.
I specify pContext member in Window class, then in FreeAmpTheme constructor
I initialize it to context after (main) Theme window has been created.
Works for me, but that's real wacky. One should have a better way of
reaching FAContext from Win32Window but I can't think of any.
Now, window procedure in Win32Window looks for WM_DROPFILE requests and
calls DropFiles() then. The DropFiles() proceeds to load files into PLM.
(strange, plm-AddItem(filename) does not work good, but
plm-AddItem(filename,0) works fine. Haven't bothered to look that up yet.
Actually the code for handling WM_DROPFILE is taken from FreeAmpUI. So there.






diff -c -p -r -b -B -t ./include/Window.h 
C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/include/Window.h
*** ./include/Window.h  Thu Oct 07 20:33:51 1999
--- C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/include/Window.hFri Oct 08 
23:38:07 1999
*** using namespace std;
*** 43,48 
--- 43,49 
  #include "thread.h"
  #include "semaphore.h"
  #include "mutex.h"
+ #include "facontext.h"

  typedef mapstring, Control * ControlMap;
  typedef mapstring, Control *::iterator ControlMapIterator;
*** class Window
*** 109,114 
--- 110,117 
virtual Error GetMousePos(Pos oMousePos) = 0;
virtual Error SetWindowPosition(Rect oWindowRect) = 0;
virtual Error GetWindowPosition(Rect oWindowRect) = 0;
+
+   FAContext*m_pContext;

  protected:

diff -c -p -r -b -B -t ./src/FreeAmpTheme.cpp 
C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/src/FreeAmpTheme.cpp
*** ./src/FreeAmpTheme.cpp  Thu Oct 07 20:33:57 1999
--- C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/src/FreeAmpTheme.cppSat Oct 09 
01:30:27 1999
*** FreeAmpTheme::FreeAmpTheme(FAContext * c
*** 82,87 
--- 82,88 

 LoadFreeAmpTheme();
 SelectWindow(m_oCurrentWindow);
+m_pWindow-m_pContext=context;
  }

  FreeAmpTheme::~FreeAmpTheme()
diff -c -p -r -b -B -t ./src/Window.cpp 
C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/src/Window.cpp
*** ./src/Window.cppThu Oct 07 20:34:11 1999
--- C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/src/Window.cpp  Fri Oct 08 23:42:07 
1999
*** Window::Window(Theme *pTheme, string oN
*** 41,46 
--- 41,48 
  m_pCanvas = NULL;
  m_pMouseInControl = NULL;
  m_pCaptureControl = NULL;
+
+ m_pContext = NULL;
  }

  Window::~Window(void)
diff -c -p -r -b -B -t ./win32/include/Win32Window.h 
C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/win32/include/Win32Window.h
*** ./win32/include/Win32Window.h   Thu Oct 07 20:34:43 1999
--- C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/win32/include/Win32Window.h Fri Oct 08 
23:26:09 1999
*** class Win32Window : public Window
*** 61,66 
--- 61,67 

   virtual HWND  GetWindowHandle(void);
   void  SaveWindowPos(Pos oPos);
+  void  DropFiles(HDROP dropHandle);

  protected:

diff -c -p -r -b -B -t ./win32/prj/theme.dsp 
C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/win32/prj/theme.dsp
diff -c -p -r -b -B -t ./win32/src/Win32Window.cpp 
C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/win32/src/Win32Window.cpp
*** ./win32/src/Win32Window.cpp Thu Oct 07 20:36:09 1999
--- C:\PROG\freeamp\freex\freeamp-dev\ui\theme\/win32/src/Win32Window.cpp   Sat Oct 09 
01:11:23 1999
***
*** 22,31 
--- 22,35 
  */

  #include stdio.h
+ #include sys/types.h
+ #include sys/stat.h
  #include "Theme.h"
  #include "Win32Window.h"
  #include "Win32Canvas.h"
  #include "debug.h"
+ #include "playlist.h"
+ #include "errors.h"

  #define DB Debug_v("%s:%d\n", __FILE__, __LINE__);

*** static LRESULT WINAPI MainWndProc(HWND h
*** 81,86 
--- 85,94 

  SetTimer(hwnd, 0, 250, NULL);

+ // We want people to be able to drop files on the player
+ DragAcceptFiles(hwnd, TRUE);
+
+
  break;
  }

*** static LRESULT WINAPI MainWndProc(HWND h
*** 192,197 
--- 200,212 
  break;
  }

+ case WM_DROPFILES:
+ if(ui-m_pContext) // only if context data are valid
+ ui-DropFiles((HDROP) wParam);
+ break;
+
+
+
  default:
  

Re: spectrum analyser

1999-10-08 Thread Valters Vingolds

Rainplay has it.
Oh, but rainplay is kinda undersupported and obsolete... but
still, look how it does that.

You'll need to dig around quite a bit to understand how it works, but
that's about the price you pay.

At 16:06 10/8/99 -0300, you wrote:

hi all,

does freeamp support graphical spectrum analyser, VU-meter,
or someting like that?
if so, how can i implement it in my UI plugin?

thanks,

-- 
Rodolfo Borges [[EMAIL PROTECTED]]

--
Valters "WaTT" Vingolds



Re: UI not showing up under 95/98 fixed!

1999-10-07 Thread Valters Vingolds

Yeah, right on! It just looks so much better as non-rectangular piece...


At 17:54 10/5/99 -0700, you wrote:
Ok, I finally fixed the UI not showing bug under 95/98. It took me about 10
hours of installing windows and then 3 hours of actual debugging to find a
ONE CHARACTER BUG. Grrr. NT liked it just fine. Sigh.

WACKY.


Ok, Valters you can keep playing now...


I just added the seek-bar. Tell me - are vertical sliders supported yet?
(gdr:)
I think I'd like use one for volume changing - but not in the base window,
I don't want to clutter that minimalistic look.



--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


--
Valters "WaTT" Vingolds



theme.ui architecture

1999-10-07 Thread Valters Vingolds

Robert...

I was toying with UI other day, wanted to implement drag'n'drop functionality.
I quickly cut'n'pasted code from freeampUI to Theme's Win32Window.h/cpp, so
the window started to accept WM_DROPFILES. 

But then I even quicker got frustrated to death, could not figure out how
to get the filenames to PLM. Spent time looking at class hierarchy and
could not see a way (well, I'm not speaking inherited virtual functions and
other wacky C++ encapsulation/data hiding stuff very fluently). Can you
think of something?

Else, I think theme.ui is too damn complex. I think I'll want to draw a
hierarchy diagram.







--
Valters "WaTT" Vingolds



volume gets lost

1999-10-07 Thread Valters Vingolds

Well, it really looks like volume is always reset to zero!
(When starting to play,changing song, etc). 
I do win98, as usually...


I offer this here patch for
io/soundcard/win32/soundcardpmo.cpp
== cut ==
163a164,165
if(!m_iLastVolume) m_iLastVolume=GetVolume();
 
196,198c198
waveOutSetVolume(m_hwo, 
 MAKELPARAM( 0x*m_iLastVolume/100,  
 0x*m_iLastVolume/100));
---
SetVolume(m_iLastVolume);
== cut ==

This seems to fix the symptoms (well, I'm not entirely sure if I'm doing
right thing, but this seems to do the trick...)
Please, verify.


But then there is another problem:

void SoundCardPMO::SetVolume(int32 volume) 
{
   // When we begin playing the volume does not get set properly.
   // In order to work around that, we'll save the last volume
   // settting and then set the volume on the stream after we open
   // the stream in init.
   waveOutSetVolume(   (HWAVEOUT)WAVE_MAPPER, 
MAKELPARAM( 0x*volume/100,  
0x*volume/100));
   m_iLastVolume = volume;
}

int32 SoundCardPMO::GetVolume() 
{
int32 volume = 0;

waveOutGetVolume((HWAVEOUT)WAVE_MAPPER, (DWORD*)volume);
(!)volume = (int32)(100 * ((float)LOWORD(volume)/(float)0x));

return volume;
} 


These volume (slowly) deteriorates when calling these two.
I think it is because marked (!) line makes it lose precision and decrease.

I can't think of a way how to stop that, currently - maybe you can do it
better?
--
Valters "WaTT" Vingolds



Re: Themes: features request

1999-09-23 Thread Valters Vingolds

some comments

At 16:32 9/21/99 -0700, Robert Kaye wrote:

 3. textcontrol should have means of specifying font used

That's not very easy to do. Consider that themes are cross platform -- how
do you specify the fonts for all platforms? What if the font is not
available on that machine?


well, then use the default font. shouldn't really break things.
I'd be glad if you just added the property of 'font' to textcontrol
definition for now... implementation left to future, and besides, it
probably is not hard to implement on Win32 only... I could do it.


 9. should be able to supply tooltips for buttons (well, anything).

I'm not planning on doing that initially. The planned freeamp skin will
display some text explaining the function of a button in a status field in
the player when the mouse is moved over that button. Once things stablize a
bit more, feel free to implement the tooltips.

ok, then, I'll be happy if you just add the property of 'tooltip string' to
buttoncontrol definition...

 11. should be able to specify multiple 'quit' buttons (other buttons too)
 (now that's flexibility ;)

Eeek.

is that a yes? :)

currently, if one specifies multiple buttons with same name, only last of
them gets used (others get thrown away) - probably exactly this will change
when you fix the 'all controls must be present in theme.xml' limitation.

other: 
I was thinking... if one makes button that should toggle 'windowshade mode'
- how it would be implemented in the XML? Probably something like this:

ButtonControl Name="ThemeChange" !-- to windowshade mode --
Position Rect="150, 7, 158, 15"
ControlBitmap Rect="0, 0, 32, 8" Name="Buttons"/
  ChangeTheme File="shade.xml"
/ButtonControl

if one clicks it ui transforms to one specified in shade.xml...
preferably really fast, as if the shade.xml is pre-loaded and it's window
already created.



--ruaok Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- [EMAIL PROTECTED]  http://moon.eorbit.net/~robert


--
Valters "WaTT" Vingolds



Re: gcc Themes

1999-09-19 Thread Valters Vingolds

It wouldn't help you anyway - some places are Win32 specific (marked as
notes 'to be crossplatform')
so no fair running it under *nix.


besides, bitmaps that got downloaded in CVS (ui/themes/default) are
somewhat corrupted - won't load.
anyone with similar results?

also, GetErrorString() usually returns NULL.
there should probably be another funtion, to get string for kError ret
values to display in case no recent oLastError is defined, because
GetErrorString usualy gets called when some ret value is !=NoErr.

nevertheless... Themes look to be real cool one (i hope we get them to be
flexible enough...). I'we been playing around with RainplayUI lately
('cause I don't exactly dig the FreeampUI and I lve Rainplay' with
LiquifiedVisions skin), but Freeamp1.5 somehow breaks the .UI (it traps in
MFC.DLL while doing LoadModule) so I call it quits (the code is quite
messy, too) unless Bill Yuan comes around and fixes that...


btw, while I'm at it, here's the patch to fix RainplayUI from trapping when
loading the visions skin (it does not have spectrum analyser area, and that
breaks the ui) - 

for visualview\visualview.cpp
103,104c103,114
   waveview = new CWaveformView(m_pWnd, fps, scopemode,
_x,_y,_width,_height, bkgBmp);
   specview = new CSpectrumView(m_pWnd, fps, analyzermode,
_x,_y,_width,_height, bkgBmp);
---
 if(_width  _height)
 {
 waveview = new CWaveformView(m_pWnd, fps, scopemode,
_x,_y,_width,_height, bkgBmp);
 specview = new CSpectrumView(m_pWnd, fps, analyzermode,
_x,_y,_width,_height, bkgBmp);
 }
 else
 {
 waveview = NULL;
 specview = NULL;
 }
 



At 15:28 9/17/99 -0700, you wrote:
gcc 2.95 doesn't like Theme.cpp:

ui/theme/src/Theme.cpp: In method `enum Error Theme::BeginElement(string
,
mapbasic_stringchar,string_char_traitschar,__default_alloc_templatefals
e,0
,basic_stringchar,string_char_traitschar,__default_alloc_templatefalse,
0
,lessbasic_stringchar,string_char_traitschar,__default_alloc_templatef
alse,0 
,allocatorbasic_stringchar,string_char_traitschar,__default_alloc_templ
atefalse,0)':
ui/theme/src/Theme.cpp:150: cannot allocate an object of type `GTKWindow'
ui/theme/src/Theme.cpp:150:   since the following virtual functions are
abstract:
ui/theme/include/Window.h:89:   enum Error Window::Run(Pos )
ui/theme/include/Window.h:90:   enum Error Window::Close()
ui/theme/include/Window.h:102:  enum Error Window::SetWindowPosition(Rect )
ui/theme/include/Window.h:103:  enum Error Window::GetWindowPosition(Rect )
ui/theme/src/Theme.cpp:196: warning: unused variable `struct Rect oRect'
make[1]: *** [ui/theme/src/Theme.o] Error 1

(nice method line, eh?)

--
Valters "WaTT" Vingolds