Toon posts:

bewegende achtergrond

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wat ik heel graag zou willen :)
is de plugin voor XMMS, nebulus als achtergrond.

enkel na kijken in de source is alles afgespitst op GTK.

nou heb ik hier twee problemen mee,
ik kan nog geen C programmeren. (ja ja ik moet me schamen)
gtk kan ik wel een beetje maar ik kan nergenst vinden hoe je met GTK iets direct op de gnome achtergrond renderd.

nou weet ik ook niet of dit mogelijk is, ik weet wel dat je het op de standaart X achtergrond kan doen. (Mplayer kan dit b.v. met de paramter -rootwin (ik heb ook al gezocht hoe ze dat doen, maar ik kan het megod niet vinden in die source)
maar ik kan hier dus voor de Gnome2 achtergrond niks over vinden. (je mag voor het gemak wel even aannemen dat ik behoorlijk wat heb gezocht, in de API guide, in een paar nieuwsgroepen, etc..)
weet iemand of dit mogelijk is en met welke truuk.

en waarom het wiel 2 keer uitvinden, als iemand een bewegende achtergrond programma ding weet dan zou ik dat (ook) graag willen weten, heb wat gezocht met google en freshmeat maar niks noppes nada uitgekomen.

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Dit is volgens mij de call die je nodig hebt uit de gdk documentatie, maar ik weet te weinig van C om je te kunnen helpen om dit erin te prutsen :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
moto-moi schreef op 17 June 2003 @ 15:44:
Dit is volgens mij de call die je nodig hebt uit de gdk documentatie, maar ik weet te weinig van C om je te kunnen helpen om dit erin te prutsen :)
Krijg je dan niet gewoon een fullscreen playback ipv een achtergrond? Of is dat juist de bedoeling?

Rookworst zonder R is ook worst.


Verwijderd

Topicstarter
ik weet nog niet wat het doet, ik denk achtergrond.
maar ik ben er net achtergekomen dat het complete GTK window gedeelte in de xmms plugin file zit.
maar gelukig is nebulus geschreven met een modulair idee in het hoofd.
dus alle "effecten" die je in een window ziet staan allemaal apart en los.

nu ga ik dus maar een tussenlaag schrijven om die effecten aan te kunnen sturen.
en hopelijk op de achtergrond zetten.
(steun kreun)

  • Wilke
  • Registratie: December 2000
  • Laatst online: 23:14
moto-moi verwijst alleen naar een enumeratie van window-typen (volgens mij zou je een ROOT-window willen, maar daar mag er dacht ik maar 1 van zijn - klinkt wel logisch iig). De functie-aanroep is gdk_window_new() - maar als je weinig van C weet betwijfel ik of je hier zo 1-2-3 uit gaat komen.

Zelf nog nooit 1 letter GTK-progsel gemaakt, dus ik zal me hier ook niet aan voorbeeldcode gaan wagen :)

Verwijderd

Topicstarter
dat snap ik, maar omdat de plugin zichzelf in de plugin code van xmms nestelt op de 1 of andere manier. word de window waarin de plugin werkt gemaakt door xmms.

en omdat ik geen zin heb om heel xmms te verbouwen zodat ik de plugin op mijn achtergrond kan spelen, zal ik de hoofd file van de plugin moeten ombouwen door alle xmms calls eruit te gooien en die te vervangen met de GTK code om het op mijn achtergrond af te drukken.

in princiepe niet zo heel moeilijk (lijkt mij)
enkel ik ken maar een klein beetje GTK (al zit het reuze simpel in elkaar)
en met C ben ik ook niet reuze bekend.
dus tis meer dat ik even er achter moet komen hoe dat allemaal in elkaar steekt.

voor de rest, code is code enkel de manier hoe je de syntax in elkaar steekt en hoe de basis structuur eruit ziet (die dus nu gtk/sdl is) moet ik even achterkomen.
maarja dat kan ik zelf wel af :)

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
Verwijderd schreef op 17 June 2003 @ 18:26:
dat snap ik, maar omdat de plugin zichzelf in de plugin code van xmms nestelt op de 1 of andere manier. word de window waarin de plugin werkt gemaakt door xmms.

en omdat ik geen zin heb om heel xmms te verbouwen zodat ik de plugin op mijn achtergrond kan spelen, zal ik de hoofd file van de plugin moeten ombouwen door alle xmms calls eruit te gooien en die te vervangen met de GTK code om het op mijn achtergrond af te drukken.

in princiepe niet zo heel moeilijk (lijkt mij)
enkel ik ken maar een klein beetje GTK (al zit het reuze simpel in elkaar)
en met C ben ik ook niet reuze bekend.
dus tis meer dat ik even er achter moet komen hoe dat allemaal in elkaar steekt.

voor de rest, code is code enkel de manier hoe je de syntax in elkaar steekt en hoe de basis structuur eruit ziet (die dus nu gtk/sdl is) moet ik even achterkomen.
maarja dat kan ik zelf wel af :)
Als je resultaat hebt, post je het dan ff hier? Ik wil het namelijk ook wel ;)
Ik ga iig nu ook ff op onderzoek uit, mocht ik wat vinden post ik het uiteraard ook ff :)

Update:
ik heb iig al gevonden hoe je'm fullscreen krijgt:
verander in de file nebulus.c op regel 189 SDL_RESIZABLE in SDL_FULLSCREEN. Dit zijn flags die vervolgens aan SDL_SetVideoMode() meegegeven worden voor het maken van de window.

[ Voor 11% gewijzigd door BezurK op 17-06-2003 22:07 ]

Rookworst zonder R is ook worst.


Verwijderd

Topicstarter
klopt, normaal zit deze functie onder de escape.

het grootste probleem op dit moment is dat de hoofd klasse nebulus_vp een object van het type VisPugin is, duidelijk een XMMS-plugin klass.
dus ik zal alsnog de XMMS code in moeten duiken.
Gezien ik niet weet welke bij behorende functies en variabelen daar allemaal aanhangen.

-edit-

de klase beschrijving hiervan is te vinden in;
/usr/include/xmms/plugin.h R. 138
(mits hij dat bestand niet ergenst anders heeft gezet uiteraard)

ziet er opzich redelijk straight forward uit. al moet ik echt eens gaan zoeken wat de variabelen zijn met een * er voor. ik gok objecten maar weet het niet echt zeker.

verwacht niet al te veel werk aan mijn kant overgens. zit midden in een toetsweek en moet eigenlijk nu windows2000 AD leren.


-note voor mods-
meschin dit topic naar het programmeer subfora onderbrengen?
gezien het er naar uit ziet dat dit voornamelijk over het herschrijven van de plugin zal gaan.
(gok ik zo)

als dit volgens hun FAQ/forum regels niet toegestaan is mag hij in princiepe wel dicht.
gezien dit ook niet echt een NOS topic meer is. (had zo i zo al twijfels over de plaatsing dacht alleen dat de mensen die hier kwamen eerder een alternatief zouden weten.)

[ Voor 23% gewijzigd door Verwijderd op 17-06-2003 23:12 ]


Verwijderd

Verwijderd schreef op 17 June 2003 @ 23:07:
..
al moet ik echt eens gaan zoeken wat de variabelen zijn met een * er voor. ik gok objecten maar weet het niet echt zeker.
..
nee dit zijn pointers naar de variabele met die naam, objecten kom je niet echt tegen in c naar ik meen, das een feature in C++

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
Verwijderd schreef op 17 juni 2003 @ 23:07:
klopt, normaal zit deze functie onder de escape.

het grootste probleem op dit moment is dat de hoofd klasse nebulus_vp een object van het type VisPugin is, duidelijk een XMMS-plugin klass.
dus ik zal alsnog de XMMS code in moeten duiken.
Gezien ik niet weet welke bij behorende functies en variabelen daar allemaal aanhangen.

-edit-

de klase beschrijving hiervan is te vinden in;
/usr/include/xmms/plugin.h R. 138
(mits hij dat bestand niet ergenst anders heeft gezet uiteraard)

ziet er opzich redelijk straight forward uit. al moet ik echt eens gaan zoeken wat de variabelen zijn met een * er voor. ik gok objecten maar weet het niet echt zeker.

verwacht niet al te veel werk aan mijn kant overgens. zit midden in een toetsweek en moet eigenlijk nu windows2000 AD leren.


-note voor mods-
meschin dit topic naar het programmeer subfora onderbrengen?
gezien het er naar uit ziet dat dit voornamelijk over het herschrijven van de plugin zal gaan.
(gok ik zo)

als dit volgens hun FAQ/forum regels niet toegestaan is mag hij in princiepe wel dicht.
gezien dit ook niet echt een NOS topic meer is. (had zo i zo al twijfels over de plaatsing dacht alleen dat de mensen die hier kwamen eerder een alternatief zouden weten.)
Variabelen met een * ervoor zijn pointers. Die variabelen bevatten een geheugen-adres, en vervult een verwijzende functie.

C:
1
2
3
4
5
6
7
int var = 8; /* integer met waarde 8 */
int *pointer; /* pointer die naar een int(eger) zal verwijzen */

pointer = &var; /* geef de pointer het adres van var dmv de &-operator */

/* de variabele "*pointer" (let op de *) zal nu 8 'bevatten', 
terwijl de variable "pointer" het adres van var bevat */

ik hoop dat het zo een btje duidelijk is ;)

Rookworst zonder R is ook worst.

Pagina: 1