Windows Service

Mai kis írásom a windows szolgáltatásokról fog szólni, mégpedig a .Net és a Windows Services kapcsolatáról. Mint tudjuk lehet .Netben szolgáltatást csinálni, nem nagy trükk.
Amit nem reklámoznak, hogy lehet olyan szolgáltatást is csinálni, ami ha szolgáltatás módban indul az alkalmazás akkor szolgáltatás módban indul el, ha pedig csak úgy elindítják akkor normális windows gui alkalmazásként. Ez hasznos lehet pl. ha fejlesztünk és normális teszt környezetet szeretnénk kialakítani, vagy logot, vagy bármi mást.
Ezt az alábbi módon tudjuk megvalósítani:

static void Main()
{
if (System.Environment.UserInteractive)
{
System.Windows.Forms.Application.Run(new Form1());
}
else
{
ServiceBase[] ServicesToRun = new ServiceBase[] { new Service1() };
ServiceBase.Run(ServicesToRun);
}

}

Ahol Service1 a szolgáltatás osztály, és Form1 a windows formunk.
Természetesen a szolgáltatás nem indul el magától ha a formot indítjuk el, de a szolgáltatás elindítása triviális:
Service1 service=new Service1();
service.OnStart(null);

Backup és Undelete

Mostanában körülnéztem, a fenti témában fellelhető programok között. Hosszas keresgélés után, az alábbi két program tűnt a legjobbnak (feltétel volt hogy ingyenesek legyenek):

A Backup-ok készítésére az alábbi program tűnt a legjobbnak: Areca Backup

Az Undelete funkciót pedig az alábbi program csinálta a legjobban: TouchStone Software Undelete Plus

Rex fájlok használata Cubase 4 alatt

Szemfülesek észrevehették, hogy megjelent a Cubase 4 kategória is, gondoltam ennek örömére írok is egy rövid cikket a témával kapcsolatban.
A rex fájl nem más, mint a Propellerhead cég Reason programjában debütáló olyan hang fájl, ami tartalmazza a hangmintához tartozó alap lejátszási sebességet (BPM) valamint fel van osztva részekre (slices).
A lejátszás úgy történik, hogy a megfelelő időpillanatban elindítják az aktuális rész lejátszását. Ebből következik, hogy ha egy kicsit állítunk a lejátszás ütemén, akkor a hangminta (például dob) még teljesen élvezhető. Természetesen ha túl gyorsra állítjuk a lejátszást a slice-ok összelapolódnak, és még mielőtt az előző véget érne, elkezdődik a következő, ha túl lassú a tempó, akkor pedig szünetek keletkeznek. Azt lehet mondani, hogy az alap sebességtől függően olyan 30-80 bpm sebességkülönbséget még át lehet hidalni rex fájlok használata során.

De mi is a probléma, ha mindezt Cubase 4 alatt szeretnénk használni. A legfőbb probléma az, hogy a Propellerhead az másik cég, mint a Steinberg.
A Rex fájlok használatának jogát a birtokló cég elég rendesen visszatartotta. Mostmár elértük azt, hogy a Cubase tud importálni rex fájlokat. Ellenben a tempó adatokat nem veszi figyelembe. Két dolgot tehetünk.
Elmentjük a Rex fájlt wav fájlként (ezt tudja a Cubase is ha audio mixdownt mondunk neki a rex fájlra), majd a Cubase által adott Hitpoint funkcióval újra felosztjuk a fájlt, és onnantól kezdve teljes értékű loopként tudjuk használni. Ez egy működőképes megoldás, speciel én annyira nem szeretem.

Második lehetőség, hogy használjuk a Propellerhead Recycle programját, ami azért is előnyös, mert segítségével könnyedén tudunk válogatni a meglévő rex állományaink közül, továbbá ki tudja a kiválasztott rex fájl lejátszási tempóját menteni midi-be (Ezt a funkciót használta a Reason alatt a Dr Rex is). Ehhez az alábbit kell tenni a Recycle programban: File menü -> Export -> és ott „.mid” formátumban mentjük a fájlt. (Én a rex fájlok mellé azonos névvel mentem a mid fájlokat is, mondván bármikor jól jöhet a rex-hez tartozó midi :).
Ezek után Cubase alá egy hang sávra ráhúzzuk a rex fájlt, majd egy midi sávra a midi fájlt. Kijelöljük a midi részt, majd:
Midi menü -> Advanced Quantize -> Part to Groove
Ezzel létrehoztunk egy olyan Quantizálást ami a midi részen alapul. Nincs is más dolgunk, csak alkalmaznunk kell ezt a Quantizálást a Rex fájlunkon. Ezután a midi törölhető a projektből.
Duplaklikk az importált Rex fájlon, majd az előjövő hangszerkesztő ablakon a Quantize értékét állítsuk át az importáltra. Ha a midi fájl neve 064.mid volt, akkor a hozzá tartozó kvantálási érték: >>>064.mid…
Ezek után már teljesen jól lejátszhatóak a rex fájlaink.
Amennyiben szeretnénk a részek lejátszását midi alapján összekeverni, a rex fájlt egy VSTI-be kell tölteni (például: NI Battery, NI Kontakt) majd ezt kell vezérelni a Rex-hez tartozó már importált midi fájlal.

IRC pidgin alatt

Megjelent az új pidgin verzió, és régen elég sokat bosszankodtam egy problámával vele kapcsolatban, gondoltam írok róla egy picit.
Aki Pidgint használ, és IRC-et is, az beleütközhet abba a hibába, hogy bizonyos karakterek helyén „?” karakter jelenik meg (rendszerint magyar karakterek természetesen). Erre a problémára a megoldás az alábbi:
El kell menni a Pidgin Accounts menüpontban, majd rábökni a Manage funkcióra (vagy CTRL+A).
Ott válasszuk ki az IRC-hez kapcsolódó accountot, majd Modify.
Az Advanced fülön található egy olyan szövegdoboz, hogy Encodings: Oda kell felvenni két értéket:
UTF-8,ISO-8859-15

És minden jó lesz 🙂

Több IE egy gépen

Ha az ember web alkalmazást fejleszt, előfordul, hogy több böngészővel is tesztelnie kell az adott alkalmazást. Ezzel nincs is semmi probléma, egészen addig, amíg nem Microsoft Internet Explorer-ről van szó, ugyanis amint a Windows frissíti az IE-t a régi verzió már nem elérhető. Erre megoldás a Multiple IE nevű programcsomag, aminek segítségével fel lehet telepíteni a többi (régebbi) Internet Explorer verziót.

Nincs elég energiám…

Tegnap este mielőtt álomra hajtottam volna a fejem, megszületett az elhatározás, hogy ma dist-upgrade-et fogok futtatni. Tegnap elég fáradt lehettem, mert az elhatározás után közvetlenül eszembe jutott egy képrejtvény is (amit most meg is osztok veletek).
Mi ez?

(félelem)

Nemsokára írok pár technikai postot, de mint fentebb is olvasható: nincs elég energiám.

Nullával feltöltött fájlok

Hogy mindenki megnyugodjon, mostanában is elég sok dolgot írok, csak nem ide.
A múltkor ütköztem bele egy olyan problémára, hogy nagyon sok fájl létrejött, amik zip kiterjesztésűek voltak, ellenben némelyik valóban zip volt, némelyik pedig csak 0-ákkal feltöltött zip kiterjesztésű fájl. Egy fél órás próbálkozás után sikerült letörölni a könyvtárból az összes hibás zip fájlt.

ls | awk {'print $0'} | xargs -I {} file {} | grep -v "Zip archive" | awk {'str=$1;sub(":","",str); print str;'} | xargs -I {} rm {}

A script nem tökéletes, de innen már lehet tovább cizellálni. És ezúton is köszönet a legnagyobb haveromnak aki szüttyögött velem, ha ő nincs akkor eszembe sem jut, hogy a file parancsot használjam.

sztárok

Jó rég nem volt időm írni, de tegnap olvastam olyat…
A cikkben sztárok nyilatkoznak. Hagy ragadjak ki egy részletet:

Mekkora energiát igényel a műsor előkészítése?
Péntek Ádám: — Figyeljük a zenei tévéket, hogy tudjuk, mi a trendi zene.

Legalább most már képben vagyok, miért nem leszek soha sztár 🙂 Amit azért végtelenül sajnálok ám 🙂 Mondjuk az igazat megvallva, én becsülöm őket, hogy van gyomruk a zenei tv-khez.

A teljes cikk itt, vannak még nagyon durvák, megéri olvasgatni 🙂

MSI

Rég nem volt módomban bejegyzést írni, de legyünk optimisták, így nem kell senkinek leszoknia a blogom-ról, mert annyit írok, hogy nincs ideje elolvasni. A technikai bejegyzések száma az utóbbi időben tart a nullához. Ezt betudom annak, hogy mostanában túlzásba viszem a munkát. A legkedvesebb témámmal kapcsolatban, ami a zenélés lenne, még nem is írtam egy bejegyzést sem. Pedig tervben volt hogy megmutatok néhány effektet, és azok lehetőségeit.
Sebaj, ami késik, nem múlik, mindenesetre tegnap volt MSI koncert, és jó is volt. Egész hallgatható szintre fejlődtek, bár kicsit színpadias előadás volt, nem lehet azt mondani, hogy nem volt hangulata.
Találkoztam 2 régi ismerősömmel, akiket nagyon régen nem láttam már, és volt módom beszélgetni hazafelé két másik emberrel, ami mellesleg legalább olyan jól esett mint az MSI-s ugrálás, és picit meg is hőköltem, hogy vannak a világon még értelmes, gondolkodó emberek (és hogy pont MSI-n lehet velük találkozni az azért durva :).
Na ennyit a koncertről és szerény életemről, ígérem, legközelebb próbálok valami szakmához közelebbit írni.

Állás lehetőség

Fülembe jutott, hogy egy megbízható (jó) cég keres (java || c#) fejlesztőket. Természetesen Budapest. Ha valaki ingerenciát érez, írjon egy levelet nekem (String a[]=new {„voji”,”@”,”.hu”};mail(a[0]+a[1]+a[0]+a[2]); ) ügyesen, és beszélünk a dologról.