Re: [Pykaraoke-discuss] Progress report
Hi Ken, Sounds excellent, you're bringing it forward significantly. Over the years lots of people have hoped we would add features for professional KJ use. Is it still suitable for home use with the new version or should we split it into two modes (home / KJ)? Best, Kelvin. On Sat, 2 Dec 2017 at 08:34 Ken Williams wrote: > I have now got a stage further in all the changes to the PyKaraoke > source code. > > Sorry but the tree browser had to go, someone spent many hours writing > it, but I think I may have found a nicer solution. > > I have also got it to automatically play background music between > karaoke songs, as it seems to be what all the professional systems do here. > > Unfortunately this can only be cdg or kar so far, as it's all pykaraoke > allows as valid extensions. > > I have now got the skeleton of a help system working. > > I am planning to remove the printer support, it can always be in a > separate program, but it does not work on my current Linux system, and > since for test purposes I have access to the bars hard drive with over > 100,000 karaoke songs, printing them all out is just not practical. > > So basically I have two tabs working so far on the main screen, the > first tab works in the same way it always has. > > Tab two has my equivalent of the tree browser, you use it in a similar > way, find files, and add them to the right hand play list window, the > difference it this is the background music, everything in this window > plays between karaoke songs on the main tab one window. > > Ken > > -- > Ken Williams. > Torremar Benidorm & Bella Vista Rhyl. > > A Unix/Linux user since 1983. > > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] PyKaraoke
Hi Ken, > I have never really used GitHub, so i will have to figure that out and > post my changes. > > I assume I start my own repo called pykaraoke then somehow link it to > the official one? I really have no idea. > There should be some guides on the Github website but essentially you can create your own "fork" of the PyKaraoke source code via the Github website. Then you can download the source from your own fork and work with that. When you're ready, you can submit changes back to the main project by issuing a Pull Request. Thanks, Kelvin. > > On holiday at present so using a smaller computer and no printer, > working with a printer is something we take for granted, but writing > code with no printer I find hard. > > Ken > > > On 10/24/2017 12:21 PM, karaokeamer...@gmail.com wrote: > > RoxBox and some other commercial programs can do partial string search > > exactly as you describe. $80 for RoxBox. > > > > I am not involved in the company, but I know the guy who makes it as he > is > > local to me in Texas: > > http://www.roxbox.net/store/pc/viewPrd.asp?idproduct=1&idcategory=3 > > > > > > > > > > -Original Message- > > From: Ken Williams [mailto:k...@kensmail.uk] > > Sent: Tuesday, October 24, 2017 3:42 AM > > To: pykaraoke-discuss@lists.sourceforge.net > > Subject: [Pykaraoke-discuss] PyKaraoke > > > > As an additional comment, i would say that the search on Pykaraoke is > > brilliant, even as it stands. > > > > For example to find "Elvis Presley In The Ghetto" with PyKaraoke you can > > just enter "elv pre ghe" and you have it. > > > > But with the software I used in a local bar here, it will search on a > title, > > or a singer, but not both, which shocked me on software that is so > > expensive. > > > > Ken > > > > -- > > Ken Williams. > > Torremar Benidorm & Bella Vista Rhyl. > > > > A Unix/Linux user since 1983. > > > > > > > > > -- > > Check out the vibrant tech community on one of the world's most engaging > > tech sites, Slashdot.org! http://sdm.link/slashdot > > ___ > > Pykaraoke-discuss mailing list > > Pykaraoke-discuss@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > > > > -- > Ken Williams. > Torremar Benidorm & Bella Vista Rhyl. > > A Unix/Linux user since 1983. > > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] PyKaraoke
Hi Ken, > Anyway I re-wrote a bit of the search routine in PyKaraoke to do a > search while typing, and was wondering if anyone out there would be > interested in trying my changes and giving me a second opinion. > The best thing to do would be to submit a pull request on Github: https://github.com/kelvinlawson/pykaraoke That way people can easily test out your changes. Thanks for contributing! Kelvin. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Welcome to the "Pykaraoke-discuss" mailing list
Hi Conor, I wouldn't rule it out but it seems unlikely because PyKaraoke itself is pure Python. Once you disable the C-optimised CDG player, the rest of PyKaraoke is all Python. My money is on SDL/Pygame or some change they have made to an API which has broken software using old APIs. How comfortable are you with Python? I wonder if you could put together a small Python script that calls the relevant SDL/Pygame API to see how it works. Kelvin. On 31 May 2013 00:36, Conor Dowdall wrote: > I've done lots of testing and I'm pretty sure it's not SDL_mixer's fault. > > My guess is that it is a bug in the 64-bit pykaraoke - I'm not sure how to > confirm this or how to track it down though - anybody else use 64-bit > (Fedora [18] specifically)? > > Conor > > -- > Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET > Get 100% visibility into your production application - at no cost. > Code-level diagnostics for performance bottlenecks with <2% overhead > Download for free and get started troubleshooting in minutes. > http://p.sf.net/sfu/appdyn_d2d_ap1 > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Welcome to the "Pykaraoke-discuss" mailing list
I'm on Ubuntu here so haven't been doing this myself. I'd advise trying to find an RPM with MP3 support (is it possible that Fedora actually includes MP3 support in the library these days anyway?) Thanks, Kelvin. On 29 May 2013 12:55, Conor Dowdall wrote: > Yes, I downloaded SDL_mixer-1.2.12.tar.gz from their website and configured > with mp3 support. After tinkering around for a while I noticed that if I > first remove the Fedora rpm (actually rpm-sphere) > > $ sudo rpm -ev --nodeps SDL_mixer-1.2.12-3.fc18.x86_64 > > and then configure; make; make install my downloaded package > > $ ./configure --prefix=/usr --enable-music-mp3 > > pykaraoke says it can't find libSDL_mixer-1.2.so > > But if I don't remove the original rpm (and configure; make; make install) > then I get the error with the core dump. > > I have a 64-bit system if that matters - am I missing a step? > > Thanks so much for your replies, > > Conor. > > -- > Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET > Get 100% visibility into your production application - at no cost. > Code-level diagnostics for performance bottlenecks with <2% overhead > Download for free and get started troubleshooting in minutes. > http://p.sf.net/sfu/appdyn_d2d_ap1 > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with <2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Welcome to the "Pykaraoke-discuss" mailing list
Could be: did you download the SDL_mixer sources and build them yourself? Could be a version mismatch or similar. The instructions for building that were written quite some time ago and something could have changed. On 28 May 2013 17:32, Conor Dowdall wrote: > No luck there Kelvin.. thanks for the suggestion. > > I see it starts with libc in the backtrace and moves on to libSDL_mixer... > did I somehow mess up the SDL install with mp3 support???... I'm not too > familiar with how backtraces work! > > Conor. > > > *** glibc detected *** python: double free or corruption (out): > 0x021f6800 *** > > === Backtrace: = > /lib64/libc.so.6[0x355ac7ca8e] > /lib/libSDL_mixer-1.2.so.0[0x3af1e0cc13] > /lib/libSDL_mixer-1.2.so.0[0x3af1e0b2a9] > /lib/libSDL_mixer-1.2.so.0(Mix_OpenAudio+0x8d)[0x3af1e09b8d] > /usr/lib64/python2.7/site-packages/pygame/mixer.so(+0x3050)[0x7fcf48be0050] > /usr/lib64/python2.7/site-packages/pygame/mixer.so(+0x31d6)[0x7fcf48be01d6] > /lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4a80)[0x35794dc370] > > -- > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with <2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Welcome to the "Pykaraoke-discuss" mailing list
Hi Conor, There is only one C module used in PyKaraoke (for optimised CDG playback). It would be nice to rule this out first: please could you open the PyKaraoke Configuration menu and turn off Optimised C-based Implementation under the CDG tab? Thanks, Kelvin. On 27 May 2013 21:09, Conor Dowdall wrote: > eeek... password changed... thanks!! > > it is a fresh install with a fully wiped home directory. I installed it by > compiling manually at first - which resulted in the exact same problem.. > this was before I realised that Fedora actually has a .rpm in a yum > repository. It is the latest version of pykaraoke (0.7.5). Not sure what to > do next... ??? > > Thanks, > > Conor. > > -- > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Bug report
Hi Pietro, Yes I haven't updated the website / Sourceforge yet since the move from Sourceforge to Github. The mailing list is still on Sourceforge but the development repository and issue tracker are now on Github. Eventually I'll get everything updated with this new information. Thanks, Kelvin. On 15 November 2011 13:38, Pietro Battiston wrote: > Il giorno mar, 15/11/2011 alle 08.56 +, Kelvin Lawson ha scritto: > > Hi Pietro, > > > > > > Thanks, I have added this to the issues list at Github: > > https://github.com/kelvinlawson/pykaraoke/issues/ > > > > Maybe a link from > http://kibosh.org/pykaraoke/development.php > would be convenient? > > thanks > > Pietro > > > > > > Best regards, > > Kelvin. > > > > On 14 November 2011 17:41, Pietro Battiston > > wrote: > > Hello, > > > > there are some MIDI files (I can provide an example only > > privately, > > since they are not free) for which, when played, PyKaraoke > > only shows > > the error > > > > "ERROR: Could not parse the MIDI file" > > > > and then, in another MessageDialog, the error > > > > "No lyrics in the track". > > > > Now, that would be fair to me... the only problem is that > > then, > > pykaraoke is stuck: not unresponsive, but it won't play any > > other file, > > and will print forever in the terminal: > > > > Traceback (most recent call last): > > File "/usr/lib/pymodules/python2.7/pykaraoke.py", line 3815, > > in > > handleIdle > >position = self.Player.GetPos() > > File "/usr/lib/pymodules/python2.7/pykar.py", line 1072, in > > GetPos > >if self.useMidiTimer: > > AttributeError: midPlayer instance has no attribute > > 'useMidiTimer' > > > > > > Interestingly, if I played some MIDI _before_ trying to play > > the faulty > > one, then in the background that will play again, but without > > showing > > the lyrics (and i will not be able to stop it in any way). > > > > You may think it is stupid to play faulty MIDI files, or MIDI > > files > > without lyrics... but when I have a huge library it's > > impossible to try > > all of them before, and then it's also annoying to have to > > restart the > > program (and loose the queue) any time a faulty one is > > chosen... > > > > Maybe an alternative fix could be to (optionally) run some > > "validity > > check" on MIDI files when refreshing the library? > > > > by the way, thanks for the nice app > > > > Pietro > > > > > > > -- > > RSA(R) Conference 2012 > > Save $700 by Nov 18 > > Register now > > http://p.sf.net/sfu/rsa-sfdev2dev1 > > ___ > > Pykaraoke-discuss mailing list > > Pykaraoke-discuss@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > > > > > > > > > -- > RSA(R) Conference 2012 > Save $700 by Nov 18 > Register now > http://p.sf.net/sfu/rsa-sfdev2dev1 > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Bug report
Hi Pietro, Thanks, I have added this to the issues list at Github: https://github.com/kelvinlawson/pykaraoke/issues/ Best regards, Kelvin. On 14 November 2011 17:41, Pietro Battiston wrote: > Hello, > > there are some MIDI files (I can provide an example only privately, > since they are not free) for which, when played, PyKaraoke only shows > the error > > "ERROR: Could not parse the MIDI file" > > and then, in another MessageDialog, the error > > "No lyrics in the track". > > Now, that would be fair to me... the only problem is that then, > pykaraoke is stuck: not unresponsive, but it won't play any other file, > and will print forever in the terminal: > > Traceback (most recent call last): > File "/usr/lib/pymodules/python2.7/pykaraoke.py", line 3815, in > handleIdle >position = self.Player.GetPos() > File "/usr/lib/pymodules/python2.7/pykar.py", line 1072, in GetPos >if self.useMidiTimer: > AttributeError: midPlayer instance has no attribute 'useMidiTimer' > > > Interestingly, if I played some MIDI _before_ trying to play the faulty > one, then in the background that will play again, but without showing > the lyrics (and i will not be able to stop it in any way). > > You may think it is stupid to play faulty MIDI files, or MIDI files > without lyrics... but when I have a huge library it's impossible to try > all of them before, and then it's also annoying to have to restart the > program (and loose the queue) any time a faulty one is chosen... > > Maybe an alternative fix could be to (optionally) run some "validity > check" on MIDI files when refreshing the library? > > by the way, thanks for the nice app > > Pietro > > > > -- > RSA(R) Conference 2012 > Save $700 by Nov 18 > Register now > http://p.sf.net/sfu/rsa-sfdev2dev1 > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] PyKaraoke Development
All, If you are involved in developing for PyKaraoke, or you like trying out the latest development code, please be aware that we have moved the source tree to Github: https://github.com/kelvinlawson/pykaraoke Here you will also find a work-in-progress branch that is not quite ready for release but contains some neat new features (pitch-shifting, lyrics preview window for KJ hosts, fixes for international filenames). This is all thanks to Paul Arnett and will hopefully make it into the main release code soon: https://github.com/kelvinlawson/pykaraoke/tree/gstreamer Best regards, Kelvin. -- EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] no "Add Songs" button in Ubuntu Maverick & Natty
Interesting links, thanks. Ubuntu have introduced a change which breaks the menu bar on several applications. I'll see what happens when the dust settles on those changes. Kelvin. On 12 January 2011 08:36, Jeffrey Katz wrote: > I found 2 temporary workarounds: > > export UBUNTU_MENUPROXY=0 > > found at http://ubuntuforums.org/showthread.php?t=1632239 > > and, uninstalling appmenu-gtk > > found at > http://www.techytalk.co.cc/2010/12/ubuntu-maverick-10-10-no-menu-bar-in-some-apps/ > > > On Tue, Jan 11, 2011 at 3:37 PM, Kelvin Lawson wrote: > >> Hi Jeffrey, >> >> Do you mean the "Add new songs to database" option from the File menu? >> Would you mind sending a screenshot please? >> >> Thanks, >> Kelvin. >> >> >> On 11 January 2011 23:31, Jeffrey Katz wrote: >> >>> With Ubuntu Maverick & Natty, updated to current, there is no "Add >>> Songs" button visible. Launching from the command line doesn't show any >>> errors. Building from source has the same problem as the debs in the >>> depositories. I've reported this at >>> https://bugs.launchpad.net/ubuntu/+source/pykaraoke/+bug/701242. Any >>> idea which python/wx library is probably to blame? Is there any chance you >>> can provide a pykaraoke build with the dependent libraries included? I'm >>> using amd64 if that's relevant. >>> >>> >>> -- >>> Protect Your Site and Customers from Malware Attacks >>> Learn about various malware tactics and how to avoid them. Understand >>> malware threats, the impact they can have on your business, and how you >>> can protect your company and customers by using code signing. >>> http://p.sf.net/sfu/oracle-sfdevnl >>> ___ >>> Pykaraoke-discuss mailing list >>> Pykaraoke-discuss@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss >>> >>> >> > -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] no "Add Songs" button in Ubuntu Maverick & Natty
Hi Jeffrey, Do you mean the "Add new songs to database" option from the File menu? Would you mind sending a screenshot please? Thanks, Kelvin. On 11 January 2011 23:31, Jeffrey Katz wrote: > With Ubuntu Maverick & Natty, updated to current, there is no "Add Songs" > button visible. Launching from the command line doesn't show any errors. > Building from source has the same problem as the debs in the depositories. > I've reported this at > https://bugs.launchpad.net/ubuntu/+source/pykaraoke/+bug/701242. Any idea > which python/wx library is probably to blame? Is there any chance you can > provide a pykaraoke build with the dependent libraries included? I'm using > amd64 if that's relevant. > > > -- > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > > -- Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Filename encoding on Linux
Hi Matt, Thanks for taking the time to submit a patch. > I have attached a patch which converts all directory names to str > objects before scanning them. It makes thing work here. I have not > tested it out on other platforms, but I believe since I remain with > str objects, all encoding issues should be effectively bypassed, so it > should work everywhere. This is actually how PyKaraoke used to behave but users with unicode directory names found that the str() conversion made the scan fail. The previous implementation (the same as yours) compared to the new can be seen here: http://pykaraoke.cvs.sourceforge.net/viewvc/pykaraoke/pykaraoke/pykdb.py?r1=1.35&r2=1.36 This fixed scanning of folders with unicode names, and I confirmed it to work on my machine, so I cannot reinstate the str() as is. Is there an alternative patch that would work in both environments? Could it be that the path needs to be encoded using the file system encoding for example (fileList[i].encode(sys.getfilesystemencoding()))? Thanks again for spending the time to dig into the sources, much appreciated. Kelvin. -- Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pykaraoke windows developer
Hi Steve, > Thanks for the quick response Kelvin. I'm glad to hear that pykaraoke is > still kicking. I would definitely like to contribute back at least what we It's still going, just at a slower pace now that the core karaoke playback functionality is finished and stable. You may have seen that I released v0.7.3 this week. > the night I have more time than I know what to do with :) I have a Vista & > Win7 box and I've used pykaraoke enough that I think I could look over the > Windows port. That would be great thanks. > My wife and I worked mainly on modifying the gui so that you could play a > song while adding other songs. When she was singing I couldn't look up > another song without her video freezing while the gui was occupied. I think > it mainly comprised kicking off the video window in it's own thread. Has > something like this been worked on in the past? Commit access btw would be This would be useful. The player threads do make callbacks when songs are completed, though, which is something to be aware of (i.e. may need proper IPC between the GUI thread and the player thread). Which reminds me: someone did report an issue with a multicore CPU on Windows, which I suspected at the time was due to the callbacks between the Pygame player and the GUI. What you have done there sounds like it could be useful for that. > great. I'll probably throw the patch your way first anyway, but first > things first I'll find my old code & setup pykaraoke on Vista & see how it > goes. I'll probably be taking baby steps contributing since my free time to > code is pretty small. No problem, anything you feel like contributing is appreciated. Thanks, Kelvin. > As for other features, I do have some other ideas written in an email > somewhere. I'll try to find them & get back to you. > > Steve > > On Tue, May 4, 2010 at 4:29 PM, Kelvin Lawson wrote: >> >> Hi Steve, >> Good to hear from you. >> >>> I was reading the http://kibosh.org/blog/ and saw a couple posts about >>> the project looking for a developer to look over the Windows port. Has a >>> developer been found yet? I'm a developer by day and a while ago hacked on >>> the pykaraoke source to make some improvements for my wife and I's setup at >>> home. Unfortunately, we never got around to rolling those improvements back >>> upstream :( sorry. Is there still some active development going on these >>> days or any high level goals for the project? >> >> As yet we don't have a Windows developer: if you have any spare moments to >> contribute (however small) then that would be much appreciated. I'd be happy >> to give you commit access to the repository at Sourceforge. >> There probably isn't a huge amount to do that is Windows-specific. I have >> run it in a VM occasionally and the main thing I noticed was that a few of >> the popup windows were badly sized. Also I only have XP here so it would be >> good to have someone with Vista on board to cover that. I have heard, for >> example, that songs cannot be cancelled part-way through playback on Vista, >> but don't have a copy to try it out. >> Building release installers for Windows is pretty easy these days. I >> documented the procedure here: >> http://kibosh.org/pykaraoke-development-windows-installer/ >> Once you have the prerequisites installed, it's just a couple of commands >> to build the entire installer. >> Any features you think are lacking would be gratefully received, and >> generally these would work on any platform. If you don't have Linux over >> there then I can easily run your changes here to make sure they work >> cross-platform. >> Do you have any thoughts on useful features to add to the roadmap? Some of >> the things I'd like to add, but haven't had the time to do yet, are: >> * More KJ features (singer tracking etc, splash screen between songs) >> * Playback of LRC & other formats >> * Progress bar >> Would be interested to hear any other ideas you have. >> Best regards, >> Kelvin. >>> >>> Steve >>> >>> >>> >>> >>> >>> -- >>> >>> ___ >>> Pykaraoke-discuss mailing list >>> Pykaraoke-discuss@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss >>> >> > > -- ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pykaraoke windows developer
Hi Steve, Good to hear from you. I was reading the http://kibosh.org/blog/ and saw a couple posts about the > project looking for a developer to look over the Windows port. Has a > developer been found yet? I'm a developer by day and a while ago hacked on > the pykaraoke source to make some improvements for my wife and I's setup at > home. Unfortunately, we never got around to rolling those improvements back > upstream :( sorry. Is there still some active development going on these > days or any high level goals for the project? > As yet we don't have a Windows developer: if you have any spare moments to contribute (however small) then that would be much appreciated. I'd be happy to give you commit access to the repository at Sourceforge. There probably isn't a huge amount to do that is Windows-specific. I have run it in a VM occasionally and the main thing I noticed was that a few of the popup windows were badly sized. Also I only have XP here so it would be good to have someone with Vista on board to cover that. I have heard, for example, that songs cannot be cancelled part-way through playback on Vista, but don't have a copy to try it out. Building release installers for Windows is pretty easy these days. I documented the procedure here: http://kibosh.org/pykaraoke-development-windows-installer/ Once you have the prerequisites installed, it's just a couple of commands to build the entire installer. Any features you think are lacking would be gratefully received, and generally these would work on any platform. If you don't have Linux over there then I can easily run your changes here to make sure they work cross-platform. Do you have any thoughts on useful features to add to the roadmap? Some of the things I'd like to add, but haven't had the time to do yet, are: * More KJ features (singer tracking etc, splash screen between songs) * Playback of LRC & other formats * Progress bar Would be interested to hear any other ideas you have. Best regards, Kelvin. > Steve > > > > > > -- > > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > > -- ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] installation problem on linux
Hi Francesco, Fedora splits pygame up into a pygame and pygame-devel package. In order to compile the fast CDG playback module you need to also install the pygame-devel package. Thanks, Kelvin. 2009/8/30 Francesco Ruvolo > Hello, > > I'm trying to install on Fedora 11, I have: > > python 2.6 > pygame 1.8.1 > wxPython 2.8.9 > sdl 1.2.13 > mutagen 1.16 > > when I try to run setup.py i get this error (I also added it in > attachment): > > $ sudo python setup.py install > /usr/lib/python2.6/site-packages/wx-2.8-gtk2-unicode/wx/_core.py:14450: > UserWarning: wxPython/wxWidgets release number mismatch > warnings.warn("wxPython/wxWidgets release number mismatch") > running install > running build > running build_py > running build_ext > building '_pycdgAux' extension > gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > --param=ssp-buffer-size=4 -m32 -march=i586 -mtune=generic > -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fPIC -I/usr/include/SDL > -I/usr/include/python2.6 -c _pycdgAux.c -o > build/temp.linux-i686-2.6/_pycdgAux.o > _pycdgAux.c:37:27: error: pygame/pygame.h: No such file or directory > _pycdgAux.c: In function ‘CdgPacketReader_init’: > _pycdgAux.c:194: warning: implicit declaration of function > ‘PySurface_AsSurface’ > _pycdgAux.c:194: warning: assignment makes pointer from integer without a > cast > _pycdgAux.c: In function ‘CdgPacketReader_FillTile’: > _pycdgAux.c:349: warning: assignment makes pointer from integer without a > cast > error: command 'gcc' failed with exit status 1 > > Someone can help me? Thank you > > Bye > Francesco > > > -- > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > > -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Extended Debate
Hi John, 2009/7/31 John Schneiderman > There's some debate here where I work about moving forward with the > PyKaraoke > project. At this time nothing has been decided or set in stone. We want to > open up communications to see if our goals fit the community. We are > looking > for a karaoke player that we can use in a professional capacity. To that > end, > we have contributed several enhancements and bug fixes to this project. The > two major concerns we have are the usage of the LGPL for the GUI code, and > the lack of modularity in the overall architecture. The issue with the GUI > code being LGPL is the possibility of the company's work being used against > it to be built into a larger system. Though this was a concern even in the > beginning, it is increasingly becoming a sore spot as each new enhancement > is > given. The other issue is the architecture of the system. It appears to be > more and more fragile with each new enhancement. The possible corrections > for > this are to re-write/re-design the architecture itself. Once again, let me > say nothing has been decided. We actively wish to discuss these concerns > and > see if any possible solutions can be made to address them. > Interesting question. From the start I always intended for PyKaraoke to be usable in commercial projects. To that end I deliberately avoided GPL to remove any restrictions / concerns that commercial projects may have about whether they are free to use it. Rather than go with a BSD-style license, however, I settled on LGPL so that anyone could use it within their products but any changes to the core code should be submitted back. Essentially I'm happy for people to use it in any kind of product, but I'd like to encourage people to submit back improvements for everyone else's benefit. My concern about the GPL is that this discourages people from using PyKaraoke as the underlying playback library in their products when I am not interested in forcing people to release all of the rest of their source code just because they combine it with PyKaraoke. Using LGPL restricts the burden of sending code back to only the PyKaraoke code itself. However I can see that there may be an argument for not applying the same license to the GUI itself. While I think the above is a sensible approach for the CDG, KAR etc playback modules it might not necessarily make sense for the GUI. So I am not against applying the GPL to the GUI, but I wanted to let you know my original thoughts from a few years back when I started the project and to gauge general opinion as well. If anyone has any opinion on this then please let us know. Regards, Kelvin. -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] DJ Player Progress
> If, for example, my company takes a GPLd program and modifies it, we could use > it in-house with impunity, but we could not distribute it to anyone else > without including *the sources for any changes we made*. > > We aren't compelled to distribute those changes, though, merely because > we *made* them to GPLd code. While we're on the subject, I'll chip in with the reason I chose LGPL for PyKaraoke. In the interest of widespread usage of the PyKaraoke modules, I specifically wanted to allow anyone to import and use it within their own applications without fear of having to open up the rest of their code (i.e. the non-PyKaraoke parts). I'm not sure what the consensus is with respect to GPL on whether importing a Python module would cause the rest of your code to be GPL, but for the avoidance of doubt I went with LGPL. Cheers, Kelvin. -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] DJ Player Progress
Hi John, > On Wednesday 4 March 2009 18:30:20 Kelvin Lawson wrote: >> Thanks for keeping us posted. Did you implement a new frontend or is it >> an extension of the main Wx GUI? Either way I'm happy to incorporate any >> new features within PyKaraoke. > > I've actually done both. I've created a standalone front-end that can > also be > incorporated into the main PyKaraoke GUI as well. Allowing for maximum > flexibility. The player itself would be under the GPLv3+. I haven't really followed the progress of GPLv3 - I made PyKaraoke LGPL because it's fairly open and I wanted to encourage people to use it both privately and commercially. I guess it could go mixed license to incorporate your standalone player, or it could be an additional package. If you player requires the PyKaraoke underlying libraries I'd prefer to maintain them in one tree rather than try to maintain separate forks. Look forward to seeing what you have. Kelvin. -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] DJ Player Progress
Hi John, > Just giving an update on the DJ player progress. It's moving along > nicely. > Should have something to show in the next few days. Is this something that as > a community we would like to be a part of PyKaraoke, or would it be best to > spin it off as a separate project? Thanks for keeping us posted. Did you implement a new frontend or is it an extension of the main Wx GUI? Either way I'm happy to incorporate any new features within PyKaraoke. Regards, Kelvin. -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] cdgtools - static
Hi Tim, You could ascertain whether it was the MP3 encode by fiddling with the cdgrip() function in cdgrip.py. It saves a raw WAV file, then encodes to MP3. If you're comfortable modifying the Python code then you could try omitting the MP3 encode step to see whether the raw WAV works (you can play WAV files in PyKaraoke but obviously they take up a good deal more room). If endianness is to blame, you can also pass different parameters to lame to swap endianness. Cheers, Kelvin. >> I think it is possible to use cdparanoia for making the >> mp3 files. Maybe the cdg and the mp3 files are out >> of sync, but I don't expect there will be any troubles. > > Yup, this actually worked pretty well. I just used cdparanoia to rip > the audio to .wav and now it sounds great and is in sync, as far as I > can tell. My wife is much happier. =) > > I wonder if there's some endian issue that cdrdao had that cdparanoia > picked up on. Seems to be a likely explanation given the fact that the > broken MP3 tracks would actually start the audio (static) at the correct > time. > > Anyway, I'm up and running. Thanks again, > tim > > -- > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Next Feature
Hi John, > I was thinking the next feature I'm going to tackle is having the ability to > add the singers name in the play-list. Thoughts? I get contacted regularly by people who would like to use PyKaraoke for professional hosting, so I think you would make a lot of friends with this. I'll dig out some of the comments I've received in this area for you to have a quick look over. Thanks, Kelvin. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] error when trying to install in debian
No problem Nick. Kelvin. > Surelly, haha > > Good Kelvin, good. > > apt-get install python-dev > > solve my problem. > > Thanks for all! > > > On Mon, Oct 13, 2008 at 8:13 AM, Kelvin Lawson <[EMAIL PROTECTED]> wrote: >> Hi Nick, >> >> It looks like you are missing several important header files like Python.h >> and SDL.h. Did you install the libraries which are required by PyKaraoke? >> >>http://kibosh.org/pykaraoke/installation.php >> >> The Debian instructions there are: >> >>apt-get install python-dev python-pygame libwxgtk-python libsdl-dev >> >> Cheers, >> Kelvin. > - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] error when trying to install in debian
Hi Nick, It looks like you are missing several important header files like Python.h and SDL.h. Did you install the libraries which are required by PyKaraoke? http://kibosh.org/pykaraoke/installation.php The Debian instructions there are: apt-get install python-dev python-pygame libwxgtk-python libsdl-dev Cheers, Kelvin. > anybody maybe help me with this error. > > pykaraoke-0.6# python setup.py install > running install > running build > running build_py > creating build > creating build/lib.linux-x86_64-2.5 > copying pycdgAux.py -> build/lib.linux-x86_64-2.5 > copying pycdg.py -> build/lib.linux-x86_64-2.5 > copying pykaraoke_mini.py -> build/lib.linux-x86_64-2.5 > copying pykaraoke.py -> build/lib.linux-x86_64-2.5 > copying pykar.py -> build/lib.linux-x86_64-2.5 > copying pykconstants.py -> build/lib.linux-x86_64-2.5 > copying pykdb.py -> build/lib.linux-x86_64-2.5 > copying pykenv.py -> build/lib.linux-x86_64-2.5 > copying pykmanager.py -> build/lib.linux-x86_64-2.5 > copying pykplayer.py -> build/lib.linux-x86_64-2.5 > copying pykversion.py -> build/lib.linux-x86_64-2.5 > copying pympg.py -> build/lib.linux-x86_64-2.5 > running build_ext > building '_pycdgAux' extension > creating build/temp.linux-x86_64-2.5 > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -I/usr/include/SDL -I/usr/include/python2.5 > -c _pycdgAux.c -o build/temp.linux-x86_64-2.5/_pycdgAux.o > _pycdgAux.c:33:20: error: Python.h: Arquivo ou diretório não encontrado > _pycdgAux.c:35:26: error: structmember.h: Arquivo ou diretório não encontrado > _pycdgAux.c:36:17: error: SDL.h: Arquivo ou diretório não encontrado > In file included from _pycdgAux.c:37: > /usr/include/python2.5/pygame/pygame.h:149: error: expected > specifier-qualifier-list before 'PyObject_HEAD' > /usr/include/python2.5/pygame/pygame.h:181: error: expected > specifier-qualifier-list before 'PyObject_HEAD' > /usr/include/python2.5/pygame/pygame.h:206: error: expected > specifier-qualifier-list before 'PyObject_HEAD' > /usr/include/python2.5/pygame/pygame.h:232: error: expected > specifier-qualifier-list before 'PyObject_HEAD' > /usr/include/python2.5/pygame/pygame.h:258: error: expected > specifier-qualifier-list before 'PyObject_HEAD' > /usr/include/python2.5/pygame/pygame.h:298: error: expected > specifier-qualifier-list before 'PyObject' > /usr/include/python2.5/pygame/pygame.h:316: error: expected > specifier-qualifier-list before 'PyObject_HEAD' > _pycdgAux.c:96: error: expected specifier-qualifier-list before > 'PyObject_HEAD' > _pycdgAux.c: In function 'CdgPacketReader_dealloc': > _pycdgAux.c:149: error: 'CdgPacketReader' has no member named '__cdgData' > _pycdgAux.c:150: warning: implicit declaration of function 'free' > _pycdgAux.c:150: warning: incompatible implicit declaration of > built-in function 'free' > _pycdgAux.c:150: error: 'CdgPacketReader' has no member named '__cdgData' > _pycdgAux.c:151: error: 'CdgPacketReader' has no member named '__cdgData' > _pycdgAux.c:153: error: 'CdgPacketReader' has no member named 'ob_type' > _pycdgAux.c:153: error: 'PyObject' undeclared (first use in this function) > _pycdgAux.c:153: error: (Each undeclared identifier is reported only once > _pycdgAux.c:153: error: for each function it appears in.) > _pycdgAux.c:153: error: expected expression before ')' token > _pycdgAux.c: At top level: > _pycdgAux.c:158: error: expected '=', ',', ';', 'asm' or > '__attribute__' before '*' token > _pycdgAux.c:174: error: expected declaration specifiers or '...' > before 'PyObject' > _pycdgAux.c:174: error: expected declaration specifiers or '...' > before 'PyObject' > _pycdgAux.c: In function 'CdgPacketReader_init': > _pycdgAux.c:180: error: 'PyObject' undeclared (first use in this function) > _pycdgAux.c:180: error: 'mapperSurface' undeclared (first use in this > function) > _pycdgAux.c:181: warning: implicit declaration of function > 'PyArg_ParseTupleAndKeywords' > _pycdgAux.c:181: error: 'args' undeclared (first use in this function) > _pycdgAux.c:181: error: 'kwds' undeclared (first use in this function) > _pycdgAux.c:190: warning: implicit declaration of function 'assert' > _pycdgAux.c:190: error: 'CdgPacketReader' has no member named '__cdgData' > _pycdgAux.c:191: error: 'CdgPacketReader' has no member named '__cdgData' > _pycdgAux.c:191: warning: implicit declaration of function 'malloc' > _pycdgAux.c:191: warning: incompatible implicit declaration of > built-in function 'malloc' > _pycdgAux.c:192: warning: implicit declaration of function 'memcpy' > _pycdgAux.c:192: warning: incompatible implicit declaration of > built-in function 'memcpy' > _pycdgAux.c:192: error: 'CdgPacketReader' has no member named '__cdgData' > _pycdgAux.c:193: error: 'CdgPacketReader' has no member named '__cdgDataLen' > _pycdgAux.c:194: error: 'CdgPacketReader' has no member named > '__mapperSurface' > _pycdgAux.c: At top level: > _pycdgAux.c:204: error: expected '=', ',', ';', 'asm
Re: [Pykaraoke-discuss] Time Left
Hi John, > Forgot to add that the format for the status message I'm considering is: > [Current Time/Time Remaining] Artist - Title Sounds good to me, the "Playing" text is redundant. Thanks, Kelvin. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] kar2mpg
Handy script, thanks for contributing Zoltan. Kelvin. > First, congratulations to all developers for making such a nice piece of > software. It brought a lot of happy hours to this home ;-) > > I'd like to contribute a UNIX shell script that converts .kar file to > .mpg. I know, it's not much, but still... Maybe someone finds it useful. > > > Regards, > Zoltan > > > > > - > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > > > > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] MP3s encoded at 22050hz play at double speed
Hi Dave, > Hello, all. I'm new to the list so this may have already been > mentioned, but if you have a mp3+G (zipped or unzipped) it plays the > audio at double speed but the .cdg graphics plays at the proper normal > speed. Is there a solution to this other than re-encoding the mp3s to > 44100Hz? There is some code in there to detect the samplerate, but you can also override it (on a global basis) from the Configuration window. Does it work if you override the samplerate? If so, it looks like the detection code could do with some tweaking. Thanks, Kelvin. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Support for zipped cdg's mp3's
Hi Holmes, > Unzipped files and zipped files with the CDGs and MP3s are also supported. If > a file is corrupted it will not be added to the database. I would run the > scan again, and watch the output from the command line. See what errors it > gives you. As John suggests above, keep your eye on the command-line. There are certain ZIP compression styles which are not supported by Python. Those files cannot be decompressed and hence won't be added to the database. If this is the case you'll see messages about this on the command-line. Someone once sent me a script to rezip an entire set of files into a format more acceptable to Python. I could dig this out if this is your problem. Kelvin. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Patch Submitted
> I've submitted the patch. I gave a detailed description of what the patch > does. I have tested it of course. More on the way. :D For those of you not watching CVS John has added support for the following: * A kamikaze button to enter random songs in your playlist. * Ability to stop after each song in the playlist, rather than move through them all automatically. * Automatic parsing of filenames in your database to fill in the Title/Artist etc fields. All three can be enabled from the Configuration window. Many thanks for your efforts John. The new features are available in CVS now and will be in the next release. Kelvin. - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Timidity SoundFonts
Hi, > thank you for great work you've done with pykaraoke! > This is my problem: pykaraoke works well with default timidity's > settings, but if i change timidity's configuration to use other > Soundfonts files, pykaraoke don't output any sound. > Of course i try to use new SoundFont file with timidity only, and it > works well. There used to be a good HowTo which a PyKaraoke user recommended to me for setting up timidity (for eawpats in his case). Unfortunately the link seems to be down: http://www.think-future.de/wiki/index.php?title=MIDI I've emailed the site owner to ask whether he can provide the page text, I'll let you know what comes back. Meanwhile as this is really down to Pygame which is used under the hood of PyKaraoke, you might get some help from the Pygame mailing list. Cheers, Kelvin. - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Patches
Hi John, Good to hear from you. We certainly welcome patches and for prolific developers we normally open up CVS for commits as well. You can send patches to me, or via the Sourceforge project page: http://sourceforge.net/tracker/?func=add&group_id=123242&atid=695886 What did you have in mind? Kelvin. > I work for a karaoke company that is interested in using this player. How > does > your project accept patches? > > John S. > > - > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] PyKaraoke v0.6 Released
Hi Folks, We are please to announce the release of PyKaraoke v0.6. There are many new features and improvements in this version. Here are some of the highlights: * Much improved GUI with many new features and additional configuration options. * Launch external media players to play other formats such as DIVX, XVID etc * Export karaoke files to MPEG format (command line only). * Many enhancements on the GP2X platform. * Now confirmed to work with OSX. * Internal improvements and fixes in the CDG and KAR players. And much more, see the full changelog here: http://sourceforge.net/project/shownotes.php?group_id=123242&release_id=609671 Download it at the usual place: http://kibosh.org/pykaraoke Thanks to David Rose for more stellar work on this release. Kelvin. - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] CDG C implementation
Hi John, > How do I get PyKaraoke to use the C implementation and not the python > implementation. I'm running GNU/Linux. It should build and use the C implementation if you use "python setup.py install" to install it. This must be run with root privs. If you see the message "Using Python implementation of CDG interpreter" on a terminal when you launch it then the above didn't work. Do you still see this message after running setup.py? Cheers, Kelvin. - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] how to display Polish chars from *.kar?
Hi Maciek, It turns out that one of the recent releases removed support for international chars from the kar player - it will be fixed in the next release. Regards, Kelvin. > New Pykaraoke user here. Hello to Everyone! > > I need to play *.kar with Polish characters. No matter what > is typed in Config -> Default charset, Pykaraoke 0.5.1 on > Ubuntu Dapper renders Polish characters wrong. I tried > iso-8859-2, cp-1250, UTF-8 and still those characters are > garbled, in the same way all time, like if the charset > definition was ignored. > > Is thare anything that could be done about it? New Year's > Eve is coming :). > > A sample kar file I tried is attached if anyone wants to test. > > Maciek > > > > > - > SF.Net email is sponsored by: > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services > for just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > > > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] So, what's everyone doing with PYK?
Hey Will, Good to hear from you. > PYK has always been pretty good :) The patches I submitted back (I > think) in 2005 (yeesh, has it really been that long already?!?!) made it > do pretty much everything I ever wanted it to do; the only thing it's > missing now from a raw functionality perspective is key changing / pitch > shifting, changeable at runtime with a keystroke or on the command line. Presumably you can still use JACK to do the pitch-shifting while pycdg doesn't support it natively? > I'm still very keen to build a real GUI and automation chain for the > rotation management side of things, though. I've heard from quite a few people over the years who are keen to have something like this. Hopefully there will be someone out there listening who feels they can lend a hand. Cheers, Kelvin. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] So, what's everyone doing with PYK?
Hey Jay, > There hasn't been a lot of traffic on this list lately, which means one > of two things: > > 1) everyone's given up, or > 2) PYK is Good Enough now. :-) > > Ok, people, which is it? It's perfect of course :-) > Myself, I'm just about to implement, having lined up a potential show > at a restaurant a friend just bought. Kelvin: did we ever look into > the "break the playback window apart from the management window" thing? The main driving force behind me doing it was to get the player running with Wx 2.8. Some distros are now packing Wx 2.8 as standard and pygame just didn't play well with it at all - splitting the two up looked like a good way to kill two birds with one stone. As I found a workaround for this which fixed the pygame vs Wx 2.8 problem, it wasn't quite so urgent to split the two up. The fix for Wx 2.8 went into the latest release a few weeks ago by the way. Of course it would still be very handy to split them up, but at the moment I'm just too busy to do this myself. I would of course be happy to give hints to anyone who has the time to look into it. Kelvin. > Will? How were you dealing with that? > > Cheers, > - jra - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Kar to cdg
Hi Mathias, > And thanks for a great piece of software! One question - is it possible > to use anything in the pykaraoke bundle to create cdg files from kar > files. I'm thinking of testing creating some better versions (mp3 > backgrounds) of some kar-files I've got around. Would rule if it was > possible to split the lyrics into cdg files and then use the mp3 > backgrounds I've created based on the .kar files. At present there is nothing in the PyKaraoke bundle to convert KAR to CDG. If anyone would like to take up the challenge I'd be happy to provide some pointers on how to go about it. Cheers, Kelvin. > Does anyone know of any other solution for this? > > Regards, > lunarshuttle > > > > > > > - > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ > > > > > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Command line options for song window
Hi, > I'm using PyKaraoke 0.5 on Ubuntu 7.10 with nVidia Twinview enabled. I want > the song window to appear on the second screen. No matter what I do, the song > window always appears on the screen where the main PyKaraoke search window > resides. I am using the following command line options: pykaraoke > --window-x=1300 --window-y=80 --width=1000 --height=560. I have been unable > to figure out why what is wrong. Does anyone know how to resolve this? The > command line options for PyKaraoke indicate this should be possible > (pykaraoke --help). Thanks. Does it work when you launch the song directly via the player? (e.g. pycdg song.cdg for a CDG file). Thanks, Kelvin. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] [EMAIL PROTECTED]: mac osx tiger]
Hi Jay, >> As usual a new version of WxPython has brought with it new >> incompatibilities... I'm seriously considering shifting to a different >> framework for the GUI. > > Was it WX, or something underneath it, that made difficult putting the > air interface and the control interface on separate display adapters? It was the fact that both Wx and Pygame run in the same process. Supporting separate X displays is another good reason for using different processes for the GUI and the players. Short term we could add a small glue layer between the Wx GUI and the players that starts the players in a separate process and communicates via some IPC mechanism. A while ago I knocked something up that used plain old sockets to do this, but didn't end up going further with it. Perhaps it's time to bring that back in. That would certainly please those wanting separate X displays and kill the Wx2.8 compatibility problem. Longer term I'd like to do away with Wx completely though. Can anyone recommend a good alternative GUI framework that's readily available on the major platforms? Does anyone have time to think about such a project? It might be a good time to add some of the pro hosting features that some of you have been talking about. > I may be *finally* about to do something productive with the silly > program; I have a soft-launch gig coming up in January at a restaurant > a friend of mine bought recently. Well if you're offering :-) Kelvin. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] [EMAIL PROTECTED]: mac osx tiger]
Hi Ralph, >> hi! I am having trouble running pykaraoke on my mac . i've attached the >> output . It seems to be that the pygame module can't find my sdl header. >> I dont know how to fix this. > > Got it to work .Installed some missing libraries like Numeric and > wxpython. Good news. Thanks for letting us know. > Wxpython has to be ver 2.6. 2.8 gives me type errors I've just committed a fix to CVS for the type error with Wx 2.8 (it seems we were using a variable name that was not allowed as it conflicted with an internal variable name now used by Wx). Although the GUI is working, there seems to be a problem running the players though. They're updating very slowly, at least on my Linux machine here. The players work fine on their own, but not when launched from the PyKaraoke GUI. My suspicion: there is something different about the main loop in Wx 2.8 that means it doesn't coexist nicely with Pygame within the same process. I'd be interested to hear if it works OK on Mac with Wx 2.8. As usual a new version of WxPython has brought with it new incompatibilities... I'm seriously considering shifting to a different framework for the GUI. Regards, Kelvin. > I still can't use the C version though. > > > - > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Show the lyrics on an other monitor
Hi Floris, > I've found that pygame hasn't support for multiple displays so I guess the > problem have to be solved with something like os.system('DISPLAY=:0.1 '). > Unfortunately I can't figure out the point where the "database window" opens > the "lyrics window" The playlist GUI (pykaroake.py) calls out to MakePlayer() in pykdb.py to start the players. This in turn uses either pycdg.py, pykar.py or pympg.py depending on the songfile type. All of these eventually make use of InitPlayer() in pykmanager.py to initialise pygame if necessary. You may find InitPlayer() is a useful place to do something like this. That said, I don't know whether it is even possible to set the X display in this way. I strongly suspect that it won't be possible to have the same process utilising two different X displays (one for WxWidgets and one for Pygmae), but I don't know what the rules are there with X. It might be necessary to spawn a new process to handle the player windows rather than run them as a thread within the existing process. It should be possible to insert a different interface between the playlist and the players such that two separate processes communicate using something like a socket. You'd need to implement two-way communication such that the playlist can tell the player process to play/pause etc. and when the song finishes the player can callback to the playlist to notify it. Hopefully the interface will be clean enough such that you can drop in a replacement glue layer to handle the interprocess communication If you're interested in taking this up I'd be happy to provide further info on how it all fits together. Kelvin. - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Minor PyKaraoke modifications
Hi Marcus, Thanks for sending in your changes. Are you interested in submitting them for use by the project? I'll take a look. I haven't done any Windows releases myself since the compilation stage was added, but have you tried using the free Visual Studio Express? Kelvin. > Basically, my changes > are simple interface changes. My mods will show the zip and cdg file > names in the search and playlist views if they are different and then > I've added a dropdown box to select who will be singing the next song. > So, whatever name is in the dropdown box when you right click -> Add > To Playlist, will show up in the first column. All of my changes are > marked with MDP. Anyway, I'd like to compile this and turn it > into a Windows executable, but I don't have VS2003. is there any > chance that someone on this mailing list could compile these changes > for me? I'd attach the code to this email, but I'm not sure that the > list manager will accept it, so if you want it or can help me, just > email me and I'll send the program. > > > > Thanks. > > Marcus > > > > > > Get the free Yahoo! toolbar and rest assured with the added security of > spyware protection. > http://new.toolbar.yahoo.com/toolbar/features/norton/index.php > > - > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pycdg segfault on amd64
Hey Martin, > My Java version encountered the same problem, but Java's exception handling > just complained for that iteration of the loop and moved on. It seems that > the tile location data is particularly problematic in terms of quality of > rip, but I've also seen tile paint commands (xor and regular) that don't > properly index into the palette, so you might want to check for those too. I > have occaisonally also seen CDG commands that have a sub-command that is > invalid, but that's fairly rare. Yep, I've seen those invalid commands as well. Maybe I'll add some kind of universal sanity-checker on the input data. > As a separate note, I've been playing with the Java OpenGL bindings > ("JOGL"), and I was wondering if any of you had considered throwing in a > PyOpenGl capable renderer? It looks like it works well with PyGame... Not on the radar at the moment, but if anyone listening is interested in working on it... Cheers, Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pycdg segfault on amd64
Hey Will, > I suspect this is either a numeric thing or a pygame thing -- aren't > there some compiled bits in those libraries for speed purposes on some > systems? I recall having a 64-bit problem myself when I was first > mucking with PyKaraoke myself ;) Yep I believe that one was a pygame vs 64-bit bug. In this case there are no libraries involved, however. It's just our own C module _pycdgAux.c which is reading the CDG bytes read directly from the CDG file. The problem is that it's reading an x,y offset from the CDG file which is outside of the 300x216 screen size, i.e. the data in the file at this location isn't a perfect rip of the original CDG command. The C code was then using this x,y offset to index into an array sized at 300x216. This was what caused the seg fault that Daniel sent the debug info on. It won't necessarily cause a seg fault on all machines though, as I found on my PC. It would have just been stomping on some memory somewhere that it probably shouldn't :-) It turns out that both of these files fail when using the pure Python implementation of pycdg as well, for the same reason: array index out of bounds. I'd better fix that one up too. The lesson here is to sanity-check the CDG commands as they aren't always perfectly ripped. Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pycdg segfault on amd64
Hi Daniel, > I patched the code as you indicated, and the segfaults are gone. Excellent news, the fix is now in CVS. > This problem was indeed happening with multiple .cdg files, though I can't > say if it applied to them all. Because pykaraoke worked with the same files > on x86 without incident, however, I doubt that corrupted/rogue data is the > issue. > > I'll send you a private e-mail re: obtaining the OGG+CDG files in > question for testing purposes. I tried these CDGs on my AMD64 and they worked fine. I guess it's system dependent whether the out of bounds array access will hit somewhere that will cause a seg fault. I did notice that both those files had classic symptoms of errors in rips. Odd bits of graphics the wrong colour etc, which is why I'm pretty sure that these odd pixel values are coming from a very slightly corrupted rip. They both play for a minute or two before one of these out-of-bounds pixel offsets occur. This is pretty common though, so it's a good thing we've nailed it. Thanks for an excellent bug report by the way. There have been mutterings of AMD64 problems since the optimised C version came out, but nothing with all of the detail necessary to fix it, so thanks! Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pycdg segfault on amd64
Hi Daniel, I've been moving house the last couple of weeks so have just got round to looking into this. I originally thought this looked like a sizeof(int) discrepancy somewhere. I thought perhaps one component (pygame, SDL or _pycdgAux.c) had been built as 32-bit, or perhaps one of the underlying libraries is not 64-bit safe in some places. Anyway, on looking into it further I see that the row_index value is 378 (thanks for all the excellent debug info by the way). This is an invalid index into the array, as the CDG screen width and hence cdgSurfarray[][] is only max 300. For some reason this line in cdgTileBlockCommon() is reading an attempt to set pixel offset 378: row_index = ((packd->data[3] & 0x3f) * 6); CDG rips occasionally contain corrupted bytes, so I could well imagine that this could happen on the odd CDG file but it sounds like this probably happens on all files (please correct me if I'm wrong there). Whether it's corrupted data or not, we really should be range-checking the row and column index here anyway. Could you try adding the following lines in cdgTileBlockCommon() please: // 2 lines of current code below column_index = ((packd->data[2] & 0x1f) * 12); row_index = ((packd->data[3] & 0x3f) * 6); // Enter the following 4 lines if (column_index > (CDG_FULL_HEIGHT - 12)) column_index = (CDG_FULL_HEIGHT - 12); if (row_index > (CDG_FULL_WIDTH - 6)) row_index = (CDG_FULL_WIDTH - 6); If it's rogue data, then hopefully this will fix the seg fault. If it's not rogue data and somehow we're reading the CDG data out incorrectly, well we'll find that out. I hope you don't mind trying this out - I do actually have an AMD64 machine here but unfortunately I can't reproduce the problem. Perhaps if you could send the offending cdg+ogg files I could reproduce it. Many thanks, Kelvin. > I've confirmed this with pykaraoke built from current CVS code. If anyone > needs it, I can provide the cdg+ogg files used below. > > BEGIN (slightly edited) GDB SESSION > $ PYTHONPATH=lib/python2.4/site-packages gdb /usr/bin/python2.4 > GNU gdb 6.4.90-debian > Copyright (C) 2006 Free Software Foundation, Inc. > > (gdb) run bin/pycdg 02--Jolly_Holiday--karaoke.cdg > Starting program: /usr/bin/python2.4 bin/pycdg 02--Jolly_Holiday--karaoke.cdg > (no debugging symbols found) > [Thread debugging using libthread_db enabled] > [New Thread 47461752184672 (LWP 10233)] > (no debugging symbols found) > [New Thread 1082132832 (LWP 10236)] > [New Thread 1090525536 (LWP 10237)] > [Thread 1090525536 (zombie) exited] > [New Thread 1090525536 (LWP 10239)] > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 47461752184672 (LWP 10233)] > 0x2b2a90ba6489 in __cdgTileBlockCommon (self=0x2ae18010, > packd=0x7fff1e4879c0, xor=1) at _pycdgAux.c:783 > 783 self->__cdgSurfarray[row_index + j][column_index + i] = > self->__cdgColourTable[new_col]; > (gdb) p row_index > $2 = 378 > (gdb) p j > $3 = 0 > (gdb) p column_index > $4 = 36 > (gdb) p i > $5 = 0 > (gdb) p new_col > $6 = 0 > (gdb) p self->__cdgColourTable[new_col] > $7 = 11149824 > (gdb) p self->__cdgSurfarray[row_index + j][column_index + i] > Cannot access memory at address 0x2ae779fc > (gdb) where > #0 0x2b2a90ba6489 in __cdgTileBlockCommon (self=0x2ae18010, > packd=0x7fff1e4879c0, xor=1) at _pycdgAux.c:783 > #1 0x2b2a90ba583f in __cdgPacketProcess (self=0x2ae18010, > packd=0x7fff1e4879c0) at _pycdgAux.c:464 > #2 0x2b2a90ba53bd in CdgPacketReader_DoPackets (self=0x2ae18010, > args=0x2b2a8c69e050, kwds=0x0) at _pycdgAux.c:316 > #3 0x00474517 in PyEval_EvalFrame () > #4 0x00472c72 in PyEval_EvalFrame () > #5 0x00472c72 in PyEval_EvalFrame () > #6 0x00472c72 in PyEval_EvalFrame () > #7 0x00472c72 in PyEval_EvalFrame () > #8 0x0047505c in PyEval_EvalCodeEx () > #9 0x00475182 in PyEval_EvalCode () > #10 0x00498da2 in PyRun_FileExFlags () > #11 0x00498fa0 in PyRun_SimpleFileExFlags () > #12 0x00410a5f in Py_Main () > #13 0x2b2a8cbf04ca in __libc_start_main () from /lib/libc.so.6 > #14 0x0040ff3a in _start () > END GDB SESSION > > pykaraoke 0.5 handled this same file without a problem on an i386 system, > so some 64-bit snafu is likely at fault. > > (Please Cc: any replies to me, as I am not subscribed to this list) > > > --Daniel > > - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://
[Pykaraoke-discuss] CDG Player Seg Faults
Folks, I recently started getting seg faults when running pykaraoke/pycdg from source. The version installed into /usr was still running correctly, but I got seg faults when attempting to run from the source directory. I narrowed it down to the external compiled module (_pycdgAux.c), and after a recompile ("python setup.py install" in the pykaraoke directory) it's working again. I haven't done much work with Python C bindings but I presume this means my Python version has changed and you need to recompile any bindings when this happens. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Quick Question
Hi Ryan, > I am wondering if someone can help me out. I want to put together a > simple python script or windows executable that can be passed a zipped > cdg+mp3 as a command line argument. Play the file (perhaps have an > option to select fullscreen or windowed playback on the command line). > I am a perl programmer and have zero experience with python but when > using the source distro and the info on the site I couldnt get past it > saying that the Numeric library couldnt be found even though I installed > it. This should be a simple script using pycdg.py and playing the file > then exiting when it is complete. I can't help much on the Windows side of things, but it's odd that you're getting this Numeric error. Have you perhaps installed Numeric for a different version of Python? (e.g. installed Numeric for Python 2.3 but are running Python 2.4?) Another point: If you use the compiled version of the CDG player you don't need Numeric, but you need to have a suitable C compiler installed. Again, I haven't done this on a Windows machine, but I'm told you'll need Visual Studio - presumably there's a free version with just the compiler. And you'll need some development libraries, at least SDL-devel. This is a bit more of a pain than just using the uncompiled CDG player which requires Numeric. > I am planning to write my own frontend using perl and the win32 gui > modules with a MySQL db holding all tracks and calling this script when > a song is selected. The finished product of course will be released to > the community. Great. Let us know how you get on. Kelvin. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Pykaraoke for OSX
Hi Rob, I've spoken with a PyKaraoke user who has got it running on OSX. You'll need to install Python (www.python.org), Pygame, WxPython and Numeric. I think the latter three are available from here: http://pythonmac.org/packages/ He didn't get the compile/install working and we haven't investigated why yet, but it's possible to run it without installing by just unpacking PyKaraoke and typing: python pykaraoke.py It looks pretty nice on OSX, but the config window was a strange size. You can fix this by changing the CONFIG_WINDOW_SIZE parameter in pykaraoke.py to 240,90. Would be interested to hear how you get on. Kelvin. Stief Robert wrote: > Hi there, > > i´m interested on Pykaraoke for OSX. If there´s a chance for testing > a Beta i would be glad to do this for you. > I usually used Winamp and a CDG plugin but now i´ve changed to an imac. > > Sorry for my bad english, i´m a native german speaker. > > greets > Rob > - > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] PyKaraoke goes to your head
How's this for a novel usage of PyKaraoke? http://www.robotcowboy.com/?p=67%22 http://www.youtube.com/watch?v=xnUqrcUB8oc Kelvin. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] mythtv
Hi Ralph, > Hi! do you have any plans in including a Pykaraoke module in MythTV? There are no current plans but if you're interested in having a go at it, I'd be happy to give you guidance. Alternatively, one of the PyKaraoke users has apparently integrated it into MythTV by treating it as a MythGame emulator. You might get some mileage out of this approach. Kelvin. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pykaraoke hardware requirements
Hi Martin, > what are the minimum hardware requirements for pykaraoke? i > have a pentium one box around here, i don't know exactly the > mhz and amount of ram, and i supppose it has an old pci > video card. I'm not sure what the minimum requirements are I'm afraid. The latest version received some big performance improvements, but I would think that PyKaraoke would still struggle on a Pentium One. Suck it and see? > i would install gentoo on it. or do you know of a better > distro (because gentoo has only the newest packages, and > perhaps pykaraoke could probably work better on a slow > machine with the lowest versions of its dependencies...). The latest release of PyKaraoke (i.e. the one with the optimisations) requires a relatively recent version of WxPython (2.5) so an old distro probably wouldn't fit the bill. All the best, Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Newbie
Hi Paul, As you've probably guessed I was away last month so am just catching up on the PyKaraoke mods tonight. > Having no answer I then renamed the individual files to the Track name e.g. mv 80s Hits-Vol000.mpg Don’t\ You\ Want\ Me > > Now when I search for Wham I see two entries in the list for each track. I’m guessing the search matches on both the filename and the track name from the titles. So question the second is:- >2. Can you remove duplicates from the search results? I haven't been able to reproduce this here. I created a titles.txt file with the same keywords for title and artist as are contained in the filename, but it only shows up once. That is certainly the intended behaviour and I'm not sure yet why this happens for you. >3. and subsequently can you display only the filename and artist in > the result list? I was thinking about making it possible to reorder the columns or only show certain ones, but while looking I realised that the column sizing wasn't particularly friendly anyway. What I've done instead is to make the column sizing more sensible so that the filename, title and artist columns always show up without any horizontal scrolling necessary. Long filenames get truncated to make room for the title and artist, but you can resize the columns as you wish. It also doesn't auto-resize every time you change the window size now, so if you resize your columns they'll stay that way until you perform a new search. The sizing is rejigged every time you do a new search because it's based on the length of the strings in the results, so if you have only short strings in the artists column, for instance, then that column will be suitably small. One side effect of these changes is that users who don't use a titles.txt will still see the Title and Artist column in their search results, although they will be small. I figure that we might want to start filling this in with info from ID3 tags in future, though, so it's probably no bad thing. The change is committed to CVS, so it would be good if you could grab it and have a play around with it. It may be that the new results layout fits your needs without adding configuration knobs for hiding or moving columns. As for the duplicate results, could you let me know if you're still getting this problem. I can't reproduce it here so I thought I'd check whether you've made any progress on that since you last wrote. Cheers, Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Questions regarding MID playback features
Hi Carlos, > I checked it today, and now I got it. You are using PyGame's engine to > pay MIDI, and that makes it hard to support something like whats done on > the Windows MIDI API, which is pretty flexible. That's right, we don't have much control over MIDI playback. That said, we did have to write a fair bit of code for parsing MIDI files in order to rip the lyrics and timing info out, so we may be able to leverage some of that. > I think that the best way to solve the problem is to implement a > entirely new MIDI playback system. It's not that hard as it may seem, > because there's a lot of functionality that can be reused, but it surely > involves a lot of time, which is a luxury that I don't have right now > (or in the foreseeable future). I'm in a similar position at the moment but if anyone is interested in having a stab at it, I'd be happy to incorporate it in PyKaraoke, provide support etc. > Anyway, thanks for your time and attention. I'll try to make some time > to play with PyKaraoke and I'll let you know of any progress that I do. Great. By the way, I forgot to give you the URL for Will's pitch-shifting FAQ: http://willfe.com/index.php/Pitch-shifting_With_PyKaraoke_and_JACK_HOWTO All the best, Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Questions regarding MID playback features
Hi Carlos, Apologies for the delay, I've been on holiday. > I am interested in knowing the state of MID/KAR support in PyKaraoke. > MID files make it easy to support pitch & tempo adjustments; also, I > would like to have the ability to mute a few instruments to play along > with my guitar. Depending on the quality of the track, it's a real > pleasure to play with a bass & drums accompaniment. Any pointers in this > direction - like old posts or any documentation - will be highly > appreciated. MID/KAR is currently supported by PyKaraoke. Will Ferrell wrote a FAQ on using PyKaraoke together with JACK to support pitch-shifting - this was based on CD+G but it may be possible to use the same framework for MIDI, I'm not sure. Tempo adjustment and muting of instruments, however, is not currently supported and I don't think that we have enough control over the timidity playback engine to do this with the current design. Cheers, Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] PyKaraoke v0.5 Released
Hi Drew, Any chance you could temporarily remove the compat libraries to see if that's what's causing it? If it is, then it appears that we can force the Wx version used by adding the top two lines below to pykaraoke.py: import wxversion wxversion.select('2.6') import os, string, wx, sys They may need to be added to pykdb.py as well. Let me know how you get on, Kelvin. Drew wrote: > On Mon, 2006-07-17 at 09:50 -0700, David Rose wrote: >> Oh, my mistake. It appears that Fedora *does* provide a separate >> pygame-devel distribution. You'll need to install that one, sorry about >> that. >> >> David >> > Hi David, > > I installed the pygame-devel package and tried again. > > Everything seemed to go fine this time. It did the compilation step and > exited without any error. > > However, I still can't make it run. I get this: > > $ pykaraoke > Traceback (most recent call last): > File "/usr/bin/pykaraoke", line 3, in ? > pykaraoke.main() > File "/usr/lib/python2.4/site-packages/pykaraoke.py", line 1530, in > main > Mgr = PyKaraokeManager() > File "/usr/lib/python2.4/site-packages/pykaraoke.py", line 1384, in > __init__ > self.Frame = PyKaraokeWindow(None, -1, "PyKaraoke " + > pykversion.PYKARAOKE_VERSION_STRING, self) > File "/usr/lib/python2.4/site-packages/pykaraoke.py", line 1271, in > __init__ > self.TreePanel = FileTree(self, -1, KaraokeMgr, 0, 0) > File "/usr/lib/python2.4/site-packages/pykaraoke.py", line 491, in > __init__ > self.FileTree.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnBeginDrag) > AttributeError: wxTreeCtrl instance has no attribute 'Bind' > > > I get this when I run yum list *wx* > > Installed Packages > compat-wxGTK.i3862.4.2-17.fc4 installed > compat-wxGTK-common.i386 2.4.2-17.fc4 installed > compat-wxGTK2.i386 2.4.2-17.fc4 installed > compat-wxGTK2-gl.i3862.4.2-17.fc4 installed > compat-wxPythonGTK2.i386 2.4.2.4-10.fc4installed > wxGTK.i386 2.6.3-2.6.3.2.2.fc4 installed > wxGTK-devel.i386 2.6.3-2.6.3.2.2.fc4 installed > wxGTK-gl.i3862.6.3-2.6.3.2.2.fc4 installed > wxPython.i3862.6.3.2-1.fc4 installed > wxPython-devel.i386 2.6.3.2-1.fc4 installed > > Not sure what all that compat stuff means, any ideas? > > > Drew > > > > > - > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > ___ > Pykaraoke-discuss mailing list > Pykaraoke-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss > - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] PyKaraoke v0.5 Released
Hi Folks, Thanks to the excellent efforts of David Rose, we've just released PyKaraoke v0.5. Download it at the usual place: http://kibosh.org/pykaraoke Changes in this release are: * Added support for GP2X * CDG: Much improved performance by porting down to C * CDG: Smoother scrolling and fixed horizontal scrolling * MIDI: Fixed mid-song tempo changes * MIDI: Smoother font-scaling and word-wrap * pykaraoke_mini: New simple GUI for simpler environments (suitable for smaller screens and simple joystick control, or for use on a TV with a remote-control) * Many other internal changes As testament to the portability of PyKaraoke, it now runs on Windwos, Linux, FreeBSD and GP2X. Please let us know if you are interested in bringing PyKaraoke to other platforms. Since the last release PyKaraoke has been added to the Debian, Arch Linux, Ubuntu "Edgy" and FreeBSD repositories. If you are interested in providing packages for other distros then let us know. Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] PyKaraoke v0.5 Imminent
Folks, Thanks to a whole host of excellent new features and fixes from David Rose I'll be looking to put out a v0.5 shortly. If anyone has time to try out what's in CVS before we sign on the dotted line that would be good. Some of changes in this release are: * Added support for GP2X * CDG: Much improved performance by porting down to C * CDG: Smoother scrolling and fixed horizontal scrolling * MIDI: Fixed mid-song tempo changes * MIDI: Smoother font-scaling and word-wrap * pykaraoke_mini: New simple GUI for simpler environments (suitable for smaller screens and simple joystick control, or for use on a TV with a remote-control) * Many other internal changes I'll give it a few days and if we're happy then the current CVS code will become v0.5. Enjoy, Kelvin. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] RW vs RW_RAW (was New ripper)
>> You notice it says "cooked R-W" NOT "cooked P-W" >> >> Does this mean it's excluding the p and q channels? that would mean it >> is returning 6 out of 8 subcode bits which would account for the subcode >> only being 72 bytes and not 96 (3/4 of the size). How it would arrange >> these 6 bit I don't know. > > I entirely think it could mean that, yes, and it would probably > just bit-pack them. Recording some identifiable data, as you have, and > checking to see what comes back on a bit-by-bit basis would probably > prove it. Judging from the RW_RAW vs RW rip I made, it doesn't look like it's packing the bits together in that way. After looking at a few CDG blocks, it became pretty easy to recognise and pick out the 24-byte CDG packets, and in the RW version it looked very much like 3 CDG packets (with the first 72 bytes exactly the same in both RW and RW_RAW mode). So we have one drive that doesn't include any CDG bytes (the NEC), one which gives 96 bytes but modified audio (Liteon) and one which only gives 72 bytes and does some byte-swapping (CyberDrv). It sounds like we're going to have trouble getting RW mode working reliably on a range of drives, unless we've just been unlucky in our selection of drives. The Liteon seems to be the most promising so far, but I don't see how we can progress with the other two. Perhaps we could find a drive which is known to work in RW mode and continue with that, but meanwhile I'm inclined to agree with Drew that RW_RAW mode is what we should be concentrating on, particularly if it's the case that all CDG-capable drives can do RW_RAW (don't know whether this is true). It would be nice to get some error-correction in there though. Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] RW vs RW_RAW (was New ripper)
> without any complaints. Looking at the hex, the CDG data appears to be > there but is shorter, possibly with the parity bytes removed. I'll > experiment further tomorrow but by the look of things, this drive does > support RW mode, but we need to do a little something to the data to > bump it up to 96 bytes per sector. I've just compared the RW vs RW_RAW output from my drive, and it appears that the RW version has 72 byte CDG sections vs 96 bytes for RW_RAW. I initially thought that must be the 96 bytes of CDG data without the 24 parity bytes, but it turns out that strangely the drive is returning only the first 3 24-byte CDG packets (including the parity bytes), and missing the fourth. So it's only giving me 3 out of every 4 CDG packets in RW mode. It also happens to swap the bytes in every 16 bit word. So it looks like this drive is giving me dud data in RW mode. Maybe it expects to send 72 bytes due to dropping the parity bytes, but just forgets to drop the parity bytes. Given your experience with your NEC drive purporting to send RW data but sending nothing of the sort, I'm thinking that this is an issue with my drive. I'll be interested to hear what you're getting out of your other drive. Hopefully it will either be the full 96 bytes, or 72 bytes but with the parity bytes removed. Cheers, Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] RW vs RW_RAW (was New ripper)
> I've made two very interesting discoveries Great. I've also just tried RW mode on my drive (CyberDrv CW880D) which for some reason I assumed didn't support RW mode. cdrdao ripped it without any complaints. Looking at the hex, the CDG data appears to be there but is shorter, possibly with the parity bytes removed. I'll experiment further tomorrow but by the look of things, this drive does support RW mode, but we need to do a little something to the data to bump it up to 96 bytes per sector. Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] RW vs RW_RAW (was New ripper)
> The end of the RW file is full of zeros. As far as I can tell the last > non zero data is at 641378399 (0x263AA85Fh). > > Both files are 642511872 bytes. The abundance of zeroes towards the end of the RW file indicates there might be some data in the RW_RAW file which is missing in the RW file. The RW_RAW file contains 262464 blocks (of 2448 bytes each). The RW file is 641378400 bytes up to the zero section. Assuming the data in the RW file is still 262464 blocks, but with some padding at the end we get between 2443 and 2444 bytes per block. Could it be that the CDG data is in there somewhere, but the parity bytes have been removed or shortened? There are 6 parity bytes per 96 byte block, which makes 2442 bytes per audio+CDG block if the parity bytes were removed. 2443-4 is not far off that, so even though there are a bunch of zeroes at the end there is still enough space up to the zeroes to hold the payload of the CDG data (without some of the parity bytes). Not sure if it's significant but thought I'd mention it as an observation. A useful thing to do with the two rips might be to knock up a little program to compare each of the audio sectors at 2352 and 2448 in turn, until we find the first one that is different. It would be interesting if this was at some significant boundary (say 32 blocks), and if it was followed by some CDG-looking bytes in the RW file. Cheers, Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] RW vs RW_RAW (was New ripper)
> This was the first thing I tried but with the toc file generated when I > ripped the bin file originally. It's got RW_RAW where you've got RW. > > cdrdao told be the drive doesn't recognise the cue sheet variant. > > Then I tried chaning all the RW_RAW to RW and the burn failed. How about using the RW image you ripped earlier, and searching for some of the CDG bytes you can see in the RW_RAW version? If a number of 96 byte CDG blocks are grouped together somewhere, we might be able to find the location this way. Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] RW vs RW_RAW (was New ripper)
> I've had an idea, I'll write a program to inject some recognisable > subcode into a RW_RAW image. Then I'll burn the image with the injected > subcode, read it back with cdrdao in RW mode and look for the sub code > in the image. Sounds like a very good plan. Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] New ripper
> Well, I haven't actually gotten a drive yet, but shortly. > > Unless you meant for me to do it on the Toshiba internal... When you get a new drive - it would be good to get some examples from another device. Out of interest have you tried cdrdao on the Toshiba's drive? Probably won't do RW if it doesn't work with CDRWIN but may be worth a shot if you have the time. Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] New ripper
> Could some testing software be whipped up? I wouldn't object to > spending the money on some specific CD+G disc (so that we all have the > same baseline) if there was something I could run against that disc to > diagnose what the drive was shipping over... Cheers Jay. I don't think we'll need to all rip the same disc now, judging by what Drew sent out tonight. If you have time, it would be good if you could pick any disc and do a rip in both RW and RW_RAW mode, and send along the first 100KB or so of each rip. Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] New ripper
> Yes, absolutely. I would like to know if anyone else has successfully > compiled and test it. Great, I can feel a v0.4 coming on. We're in the middle of buying a house at the moment so time is limited, but I'll have a go at building it here and fitting it into a sensible release package. > When I had extracted the .bin image I ran it through dcdgrip to split it > but the results were not as expected. The CDG info was garbage and the > audio was very badly distorted (like samples were missing and maybe cdg > data was still present) Interesting. I certainly didn't expect the audio to be affected by using RW mode. I'm inclined to go with your reason 3 as well - that the data is not arriving in the expected order. Could the CDG data be smaller because the parity bytes have been removed? From reading about other people who have tackled the software-deinterleave process (e.g. the Audiograbber guy) my understanding was that this was a pain-in-the-ass that you can avoid by using RW drives. I'd be surprised if there was anything particularly complicated to do so we must be missing something simple. You said you looked at the bin file - did you compare it with the RW_RAW output from the same disk? If you have an example of the first few KB output using both modes I'd be interested to see it. Cheers, Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] subcode and deinterleaving question
> The point I was making was that the interleaving of the CDG was separate > from the interleaving that goes on at a lower level as part of the error > correction mechanism of all CDs. I'm not convinced either way but in > either case we already know the offsets and we know that the > de-interleaving of RW_RAW data works in cdgrip. What we don't know is > what RW data looks like. Yes it would be nice to nail this one on the head. It sounds like Jay is about to buy a new drive so hopefully he'll get another RW-capable one that we can test against. > Yes. I'm going to have to try to read up on the format of the parity > bytes in the cdg packet and how they are generated from the rest of the > cdg data (I assume pykaraoke just ignores these bytes Although I haven't > checked :) ). If they are a checksum type arrangement the drives which > deal with de-interleaving may look at them and re-read the disk if the > check fails. As you suspect pycdg doesn't do anything with the parity bytes, so if you could deal with this during the rip that would be good. That said, it's worth merging any work you do into pycdg as well so that it can deal with errors in .cdgs from other rippers. I like your idea about making educated guesses on the content by the way. Kelvin. Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] subcode and deinterleaving question
>>http://club.cdfreaks.com/showpost.php?p=719361&postcount=13 > > Very interesting link. That's where you got your mysterious offsets form > then I suppose. Sure is. > What I found was that in bin file (which was extracted with RW_RAW and > so would need the karaoke info deinterleaving) has the q-channel subcode > bits (bit 6) in the right place and in the right order already (ie they > are do not need deinterleaving) Could it be that the q data is deinterleaved by the drive or cdrdao, while the rw data isn't? > The R-W channels ARE interleaved. Judging by the offsets, across two > sectors. > > I do not know if the interleaving of the CDG data matches up the bytes > in any way with scrambling of the audio sectors. > > I think it is likely that the interleaving in the R-W channels is part > of a completely separate error correction system added by the inventors > of CDG. I'm not so sure about this because some Windows CDG rippers boast of their software deinterleaving support. They say that some drives can return the CDG data ready-deinterleaved, while others need an extra software deinterleave. Check out the following message from the Audiograbber author (make sure you also scroll down to look at his reply about the deinterleave process): http://www.karaokeplayground.co.uk/ubbcgi/ultimatebb.cgi?ubb=print_topic;f=9;t=001020 > Have you noticed that the 24 byte DG packet contains 6 "parity" > bytes it would be nice if these could be used to correct broken cdg > files. Definitely worth a try. According to the Audiograbber author's message above he gets more errors when using software deinterleave as the deinterleave-capable drives seem to be error-correcting. I guess we're missing that stage in the software-deinterleave. Apologies for the tardy response by the way, I tend to work on this in bursts. Kelvin. All the advantages of Linux Managed Hosting--Without the Cost and Risk! Fully trained technicians. The highest number of Red Hat certifications in the hosting industry. Fanatical Support. Click to learn more http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] New ripper
Hello Folks, Thanks a lot for posting your code Drew, glad to hear you got it working. If you don't want the hassle of packaging it up yourself in a release it sounds like a good addition to the cdgtools suite. I tend to use Python for home projects simply because I find it quicker to get something functional, but I see no reason why C code shouldn't go into cdgtools. Let me know if you're interested (cdgtools is LGPL by the way). > It decodes the q channel and checks to see if the track number has > changed. > > If it has the program then does a CRC check (there is a CRC value built > into the q channel) and if the CRC is bad the change of track is > ignored. Initially I didn't include the CRC checking but I found that > the q data was often corrupted in one or two sectors in the track so the > CRC eliminates these erroneous track boundaries. This is good stuff. > dcdgrip doesn't do this yet but... as such. If I'm understanding you > correctly you want to read one track and then split and encode it. > > I have already thought of adding an option to select which tracks you > want to rip (from the complete bin file) but it shouldn't be too hard to > make it encode from a bin file containing just one track (will cdrdao do > this?) I just had a look through the cdrdao man page and to my surprise there doesn't seem to be an option to rip single tracks. Anyone know of any other suitable rippers? >>Yeah, drives are very random and finicky about this part of things. >>Figuring out whether you've been handed raw or cooked subchannel data >>is a pain in the [EMAIL PROTECTED] :) > > I'm not totally convinced that it's just a drive problem. Has anyone on > the list every got RW data to work? My drive returns the data interleaved, so I've only ever tested rw_raw mode (using the software-deinterleave) hence the note of caution in the instructions for rw mode. My thinking was that the data returned in rw mode would need nothing doing to it at all, it could be written straight out to the CDG file as it came from the CD drive. Have you found this not to be the case? Could it be that the drives concerned don't support rw mode? Cheers, Kelvin. All the advantages of Linux Managed Hosting--Without the Cost and Risk! Fully trained technicians. The highest number of Red Hat certifications in the hosting industry. Fanatical Support. Click to learn more http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pykaraoke can't play mpg's [sorry for incomplete mail before]
Hi Cyrill, It works now... Glad to hear it! Does this change the resolution for playing? Sorry, I'm not sure what you mean? Quite cool... But it would also have worked just with mplayer or so :) But its easy to be able to start the movies from the same tool. This is true. The MPEG support is really just a bonus feature - in future I've been planning to add support for external players to the GUI. That way you could add support to the database/GUI for a large range of movie formats and spawn off an mplayer process to handle them. All the best, Kelvin. --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pykaraoke can't play mpg's [sorry for incomplete mail before]
Hi Cyrill, Available versions: 1.5.3 1.5.5 1.5.6 1.6 1.6.2 ~1.7.1 Installed: 1.6.2 Is it possible to upgrade to v1.7.1 through this package manager? I see it's there but appears to be masked. If not then I'd advise getting the latest version from pygame.org. I'm pretty sure MPEG was fixed by v1.7.1. Thanks, Kelvin. --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] pykaraoke can't play mpg's [sorry for incomplete mail before]
Hi Cyrill, Could you check which version of pygame you have installed? I believe that MPG support was broken in some of the recent versions of pygame. Thanks, Kelvin. Cyrill Helg wrote: Hi again I try to play some mpgs with pykaraoke and I get the following error: "Error starting player" Thats the output on the console: /usr/lib/python2.4/site-packages/pympg.py:190: RuntimeWarning: use movieext: No module named movieext self.Movie = pygame.movie.Movie(self.mpgFileName) Thanks for any help! Cyrill Helg --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] [HOWTO] Implementing pitch-shifting and crossfading (for filler music/other sources) for PyKaraoke on Linux with JACK
I'd need to rewrite it in C but it should translate fairly easily, especially given what we now know about CD+G. Which, presumably, is more than you did before the first cut. :-) Yeah, it was easy enough to knock something up that worked on my small collection of tracks, but since then I've had a few people (you included) send me CD+Gs that interpreted the spec differently. It's been all quiet for some time now, so it must be perfect . Hmmm... Is there a standardized way to get raw tracks off a Redbook CD in Linux? Doesn't XMMS do some of this? Pass. When I wrote cdgtools, the only useful tool I could find for reading subchannel data was cdrdao. We can presumably package up ATAPI commands and pass them to the relevant Linux driver, but cdrdao might take away the pain of handling a range of drives with different supported commands etc. rip just the CD+G data without any MP3 encoding. You can then play this back as usual with pycdg.py while the CD track plays. Should be relatively quick to implement but you pay the price of the time spent doing the rip before playback. Could you sync it, though? Well there's the new "no audio" option in pycdg. This uses the system clock to play the CD+G in real time. It would need to know if you had paused or rewound etc, but it could probably do the job. You can also poll the pygame CD playback to find out the current playtime but it's only one second accuracy. Cheers, Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] subcode and deinterleaving question
Hi Drew, I've been reading all the info I can find but I must admit I'm getting a little confused partly because the terms "frame" and "sector" do not seem to be used consistently. For instance the ECMA-130 standard seems to refer to 588 bits burnt on to the disk as a frame. Thanks for the headsup, I hadn't seen that ECMA 130 before. I thought the gory details were to be found in the Red Book which costs money, so it's great to find this info available for download. I've just had a scan through it, and it distinguishes between sections, sectors and frames. We've used sector and frame to describe the same thing in the cdgtools code - as the 2352 bytes of audio + (2 * 392) bytes error correction/detection + 98 bytes subchannel data. Looks like we should replace "frame" by "sector" throughout the code. Some of the above is filtered out to get the data returned by cdrdao. We get the 2352 bytes of audio data, plus 96 bytes of subchannel data. (The first two bytes of subchannel data appear to be sync bytes, hence getting 96 instead of 98). The subchannel data is contained in the "control byte" discussed in the document. I know a certain amount of interleaving goes on in the audio data prior to it being written onto the disk but I was under the impression that the same could not be said about subcode? It looks that way from the document. The CIRC coding is done before the control bytes are added, but perhaps the control bytes are then added in the relevant place, i.e. they are not added in order because they are placed according to the position of the CIRC-encoded data? I haven't read deeply enough yet to figure that out. As you can probably tell from the above, I'm pretty much in the dark about the interleaving process. When writing cdgtools I noticed that my drive was returning data that looked almost correct but with the bytes spread around. I couldn't find any information on the interleaving process, and believed it to be in the Red Book, but came across the following: http://club.cdfreaks.com/showpost.php?p=719361&postcount=13 This guy was in the same position as me, but had the patience to sit down and reverse engineer which bytes went where. Is it just the r to w channels which are interleaved or is it the whole subcode byte? (including the p and q channels). I'm not sure because I mask out only the P and Q subchannels. Are you asking because the CIRC section discusses encoding of P and Q bytes? The way I read that was that these are parity bytes, unrelated to the p-w subchannels (confusing terminology). My (probably flawed) thinking is that the control bytes containing subchannel data are not put through the CIRC process, but are matched up with the new position of the relevant frame after CIRC encoding, and so are effectively interleaved. Bear in mind I don't even know if the deinterleaving code in cdgtools is actually reversing the CIRC cross-interleaving, or if it's some other magic altogether. It would be great if you had the time and inclination to check this out :-) Hope that helps, Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] [HOWTO] Implementing pitch-shifting and crossfading (for filler music/other sources) for PyKaraoke on Linux with JACK
In fact the only missing piece apart from digital mixing is a lack of straight-from-CD CD+G player, which is something I'm interested in doing anyway, and I think Python can do it. Any hints or thoughts, Kelvin? I've given it some consideration in the past but not in great detail. Pygame can play audio tracks on a CD but (unsurprisingly) there is no facility to read the subchannel data. Initial thoughts on the simplest thing to implement would be to combine a cdrdao/cdgrip pass with pygame's CD playback. It's just a hack but it buys you something. After selecting a track, you spawn off a process to rip just the CD+G data without any MP3 encoding. You can then play this back as usual with pycdg.py while the CD track plays. Should be relatively quick to implement but you pay the price of the time spent doing the rip before playback. Doing it *properly*.. that's a different thing. I don't know, for instance, what the usual method would be for extracting the subchannel data on Linux. Whether you'd need to use a library like cdrdao, or whether it's just as easy to get what you need straight from the OS. I'm thinking something like Python bindings for cdrdao to read the subchannel data - and if you're doing this in real time then presumably you'd want to read the audio data at the same time, rather than have two proceses seeking around the disk. I'd need a deeper look into the likes of cdrdao to comment any further than that. The link is Coral Cache-ified by the way because I'm expecting heavy traffic in a few days; a not-so-friendly company is threatening to sue me because I posted my experience with them on my site, and negotiations broke down recently. I went public with the details, and Tom Martino (the "Troubleshooter") is going to have me on his radio program Monday to hash this stuff out. Heh. This should get interesting fast :) Itching to hear how this pans out. Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] [HOWTO] Implementing pitch-shifting and crossfading (for filler music/other sources) for PyKaraoke on Linux with JACK
Here's a curious idea: I wonder how hard it would be to recast Kelvin's rendering code as an Mplayer codec? Did we already talk about this? I've fancied doing this for some time but haven't got round to it yet. Making an mplayer/ffmpeg codec would give you CD+G for free with a whole bunch of video players, as well as those commercial DVD players and other devices that use ffmpeg. I'd need to rewrite it in C but it should translate fairly easily, especially given what we now know about CD+G. Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] [HOWTO] Implementing pitch-shifting and crossfading (for filler music/other sources) for PyKaraoke on Linux with JACK
PyKaraoke doesn't currently support pitch-shifting natively during song playback, and this is about the only missing feature that prevents PyKaraoke from being a complete digital replacement for the traditional analog CD+G player. Thanks Will, excellent HOWTO. Will put a link on the PyKaraoke web site. Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] PyKaraoke v0.4.2
It's a good solution for Linux, though I don't think JACK or the other stuff runs on Win32 though; it's *possible* you could build a similar kind of toolchain on Win32 though with whatever SDL is using for sound delivery. Well I think all of the calls for pitch-shifting so far have come from Linux users so this should be OK for now. Built-in pitch shifting could be a longer term goal if nothing is available on Windows. I'd be glad to write up a howto. It was fairly easy to do once I figured out the little gotchas. I'll post it in the next few days. Great, thanks. If that's still true, then yeah, I just need to update the UpdatedTiles chunk to tell it I've written changes there. Of course, the way I was doing it, I was just drawing the text on every frame anyway. I think I saved the rendered text and only changed *it* when necessary, then blitted it onto the finished output buffer right before it got displayed. Bleh. I need to dig some more to remember how I did it :) OK, let me know if you need any pointers. Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] PyKaraoke v0.4.2
Hey Will, long time no speak. I've been experimenting a lot lately with trying to get pitch shifting working, and I've made a pleasant discovery that, at least in Linux, makes it a snap to implement. I'm totally jazzed about this :) Yeah I spotted this on your blog the other day. Kudos! This is a great solution as it saves reinventing the wheel. Any chance you could post a little HOWTO to the list on setting this up? :-) More directly PyKaraoke-related, I wrote a patch against v0.3 that added a configurable on-screen display (showing player status, time in the song, etc.); anybody at all interested in that kind of feature, or am I just being a showoff at the local shows? :) I'd need to probably refactor it to work properly in v0.4 since that introduced the segmented display scheme; though I was just overlaying FreeType font stuff onto the buffer right before it gets flushed to the display device, so it may still just apply and work. If you're modifying the cdgSurfArray, then it just now needs to set appropriate bitfields in UpdatedTiles to specify which tiles have been modified. Then cdgDisplayUpdate() will automatically work on only the updated tiles. If it's not obvious what to do then I'd be happy to do the merge. Thinking about it, it's probably not appropriate to blit the text into cdgSurfArray as it would get scrolled if there was any scrolling in the CDG. Better to do this to the unscaled_tiles array immediately before scaling and output. This way it won't be left hanging around in the main cdgSurfArray for use by the scrolling code. Cheers, Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Pykaraoke, ogg and an intro
Well that was fast! That fixed it! Excellent! Above the pygame.init() call in pycdg.py and it seems to solve the problem. If only I'd waited half an hour before releasing v0.4.2 :-) Mind you I'd like to do some testing on this before releasing it anyway. It'll go in the next version. I don't have mp3 playback set up, I read in the documentation somewhere that it required recompiling SDL (and I could be arsed as didn't want to use mp3 anyway) Yes it can be a pain on some distros. If you change your mind there are some step-by-step instructions on the website that worked on a recent FC release. Thanks for letting me know, Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] PyKaraoke v0.4.2
That reminds me... I've had v0.4.2 ready to go for some time now. Tthe Linux/source release is on Sourceforge now. The Windows installer will follow later. Changes in this release are: * pycdg: Support starting files without .cdg extension for tab-completion * Fix Border Preset commands (don't clear entire screen) * pycdg: play CDGs without an MP3 file for test purposes * pycdg: Fix FutureWarning on 0xs * pycdg: Fix option type 'str' for optparse * GUI: Reorder Playlist (drag & drop) * GUI: Drag and drop from Search View to Playlist * GUI: Drag and drop from Folder View to Playlist * GUI: Made some of the GUI features reusable by other scripts (Craig Rindy) * GUI: Fix non-ASCII characters in filenames (Craig Rindy) Cheers, Kelvin. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Pykaraoke, ogg and an intro
Hi, Welcome aboard. Could you send me the offending ogg file please? I'll see if I can reproduce the problem here. There's a note in the Pygame documentation about "scratchy" playback due to a lack of buffering. It's apparently a bug on Windows, and it's also not clear if it applies to the mixer.music module, but it might be worth a go anyway: http://www.pygame.org/docs/ref/mixer.html#pygame.mixer.init The suggestion is to do this before the pygame.init() call: pygame.mixer.pre_init(44100,-16,2, 1024 * 3) Cheers, Kelvin. Drew wrote: Hello, I hope I'm posting this to the right list, feel free to shout nasty things at me if I'm not :) First a little intro: A few years ago I got interested in CDG disks and how they work. Long story short, I ended up learning a bit about it for the few resources which were available on the internet at the time (it seems much better these days). I wrote some code (including some to read Q channel data for some stupid reason) and then gave up without every completing anything useful. Recently I've started thinking about making a karaoke device. I started looking around to see what was available in the open source world these days and found pykaraoke and cdgtools both very impressive tools. I've never coded in python before but it all seems very logical when you start looking at the code. Anyway on to my main point :) I was trying not to use mp3 with a view to keeping everything patent free and open source. I'm having a small problem with ogg and pykaraoke: I modified cdgrip.py to work with oggenc by just switching th encoder line at first I got good cdg files but white noise ogg files. I soon realised it was an endainness problem. For some reason oggenc seems to work the opposite way to lame (little endian by default I think) I used the --raw-endianness 1 switch and it seemed cured. The problem I'm having now is one of quality when playing the files back with pykaraoke, there seems to be noticeable distortion in the playback. This doesn't happen if I play back the encoded ogg in XMMS. I wonder if anyone has any idea about what is going on? thanks in advance.. vv --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Fast chirping sound when tryingt to play a song
Hi Harry, We recently had some trouble getting the graphics to sync up with the audio on lower spec machines. We made a lot of improvements but I'm not convinced that would extend down to 400MHz. That said, I'm surprised it's the audio that's failing. On Windows you should get better results from an application that takes advantage of hardware accelerated graphics etc. PyKaraoke currently takes advantage of Python and some Python-based libraries so that we can run the same code on many platforms. Unfortunately this raises the bar a little in terms of minimum requirements, and I suspect that a 400MHz machine will not be suitable. All the best, Kelvin. Harry Gambardella(HG Entertainment) wrote: Hi, I've installed the lastest version of PyKaroke on a 400mhz Toshiba laptop running Windows 2000pro. It installed and opens OK. I searched my folder of a handful of MP3+g files. I can open the song up, it will display the text of the CDG file, but I cannot hear the music. All I hear is a loud CHIRPING sound. Is there something I'm doing wrong? Can I run this program on this laptop? Thank you, Harry *HG Entertainment* Harry Gambardella (Entertainment Specialist/DJ) *Outstanding DJ Fun! *http://HG-Entertainment.com (203) 238-4895 --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Runtime error
Hi Jay, long time no speak. It did it to me, too, Kelvin; I'd forgotten to say anything. XPPro. First time. OK thanks. You're using XPPro and Mark is using 98SE so no clues there. I'm planning to put out a v0.4.2 shortly, so I'll see if I can reproduce it when building the installer. All the best, Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Runtime error
Hi Mark, This application has asked the Runtime to it in an unusual way. Please contact the application's support team for more information. This is a new one on me. Could you let me know which version of Windows you're using please? Also was it working previously or did this happen the first time you ran it? Thanks, Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] Re: RPM for v0.4.1
Hi Chris, ...Sorry, I think I mis-spoke (mis-wrote). What I meant by this is that the RPM installs just fine (I know you need root privileges for that). I meant to say that PyKaraoke itself, when installed from the RPM, runs as expected only when logged on as root. If you try and run it as a normal user, it errors out. By contrast, the non-RPM installed version appears to work on FC4 with normal user rights. Ah apologies, I misread your message. Hopefully this will be fixed in the new RPM. I used to make distutils build a ZIP file for the source, but that trashed all the file permissions etc. It may be that this also affected the RPM I built then. With any luck this problem will have gone away now that I've told distutils to use a tar.gz. Hope that helps and thanks! I'll try the updated RPM in a bit - I just got "that little talk" from my wife about being on the computer... :) Oh I know that talk only too well. Thanks for your help, Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] RPM for v0.4.1
Hi Chris, I tried downloading the RPM. It seems for some reason that Firefox and Konqueror on FC4 wants to recognize it as a RealPlayer type file and opens it with a media player instead of saving the file. I know there's a way to specify a preferred mime type with the file on the Web server, but I don't remember off hand how to do it. VMware has the same problem by the way when downloading their RPMs. They really need to fix it. Thanks for letting me know. I've added a .bin extension on there now: http://www.kibosh.org/pykaraoke/pykaraoke-0.4.1-1.noarch.rpm.bin If you still have no luck maybe you could grab it with wget. Also, I noticed the other day that the first RPM file installs and runs properly on FC4 as long as you are root, but doesn't work properly with normal user rights. I'll see if I can dig up the exact error next opportunity. It needs to run as root so it can install into /usr/bin and friends. Thanks for giving it a go, look forward to hearing how it goes. Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] RPM for v0.4.1
Hi, I've built an RPM in case anyone gets a chance to try it out: http://www.kibosh.org/pykaraoke/pykaraoke-0.4.1-1.noarch.rpm I don't expect there to be much trouble with the actual install procedure - more likely the dependencies. i.e. picking the correct package-names for the relevant repository. Thanks, Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
[Pykaraoke-discuss] PyKaraoke v0.4.1
Hi Folks, I've just released v0.4.1 of PyKaraoke. Thanks for all your patches and testing. Main changes are: * Better pycdg performance through tiled scaling/blitting. * Linux install script (run "python setup.py install"). * A few GUI fixes for wx-2.6, and MIDI playback within ZIPs. The full changelog is here: http://sourceforge.net/project/shownotes.php?group_id=123242&release_id=381511 I've defaulted the frames per second to 10, with the expectation that those that want higher can use the --fps parameter. I'll add a configuration knob for this to the GUI in the next release. I'd like to see about getting this release into the distro package managers so if anyone can help with testing out debs and rpms that would be good. I'll create an RPM and send it out soon. Thanks again, Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] CAVS' "Super CD+G" format
The problem, as I note, is that the commercial ones are packaged in this encrypted .DAT file, that I'm going to have to crack first. OK well let us know if you find time to look further into it. After I get this new release out I'd like to concentrate on getting pycdg working with pymedia and libsoundtouch. After that lrc, kok, cavs and The World :-) pykaraoke.wikispaces.com Aw. Not MediaWiki. Denied. Heh, well it was a question of time and benefit. Saved a couple of hours of setting up mysql and mediawiki at my hosting providers. Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Re: FINALLY -- ghod I hate SuSE
Hi Jay, This version seems also to keep up, and only boosted my load average from .44 to .88 or so. I think that's better. :-) Sounds like a goer to me. As we got a decent improvement out of 4 tiles, I've had another bash at it tonight. The attached version uses 24 update tiles (a grid of 6x4). If anyone gets the chance, could you try it out and let me know the results. If all goes well I'll see about putting out a new release towards the end of the week. Kelvin. #!/usr/bin/env python # pycdg - CDG/MP3+G Karaoke Player # Copyright (C) 2005 Kelvin Lawson ([EMAIL PROTECTED]) # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # OVERVIEW # # pycdg is a CDG karaoke player which supports MP3+G and OGG+G tracks. # # The player uses the pygame library (www.pygame.org), and can therefore # run on any operating system that runs pygame (currently Linux, Windows # and OSX). # # You can use this file as a standalone player, or together with # PyKaraoke. PyKaraoke provides a graphical user interface, playlists, # searchable song database etc. # # For those writing a media player or similar project who would like # CDG support, this module has been designed to be easily incorporated # into such projects and is released under the LGPL. # REQUIREMENTS # # pycdg requires the following to be installed on your system: # . Python (www.python.org) # . Pygame (www.pygame.org) # . Numeric module (numpy.sourceforge.net) # USAGE INSTRUCTIONS # # To start the player, pass the CDG filename/path on the command line: # python pycdg.py /songs/theboxer.cdg # # You can also incorporate a CDG player in your own projects by # importing this module. The class cdgPlayer is exported by the # module. You can import and start it as follows: # import pycdg # player = pycdg.cdgPlayer("/songs/theboxer.cdg") # player.Play() # # The class also exports Close(), Pause(), Rewind(), GetPos(). # # There are two optional parameters to the initialiser, errorNotifyCallback # and doneCallback: # # errorNotifyCallback, if provided, will be used to print out any error # messages (e.g. song file not found). This allows the module to fit # together well with GUI playlist managers by utilising the same GUI's # error popup window mechanism (or similar). If no callback is provided, # errors are printed to stdout. errorNotifyCallback should take one # parameter, the error string, e.g.: # def errorPopup (ErrorString): # msgBox (ErrorString) # # doneCallback can be used to register a callback so that the player # calls you back when the song is finished playing. The callback should # take no parameters, e.g.: # def songFinishedCallback(): # msgBox ("Song is finished") # # To register callbacks, pass the functions in to the initialiser: # cdgPlayer ("/songs/theboxer.cdg", errorPopup, songFinishedCallback) # These parameters are optional and default to None. # # If the initialiser fails (e.g. the song file is not present), __init__ # raises an exception. # IMPLEMENTATION DETAILS # # pycdg is implemented as one python module. It performs all # of the CDG file decoding locally, and gets audio playback # and video display capabilities from the pygame library. # It also uses the python Numeric module, which provides # fast handling of the arrays of pixel data for the display. # # All of the information on the CDG file format was learned # from the fabulous "CDG Revealed" tutorial at www.jbum.com. # # The player is run within a thread to allow for easy # integration with media player programs. The thread starts # the pygame MP3/OGG playback, and then monitors the current # time in the song. It reads the CDG file at the correct # location for the current position of the song, and decodes # the CDG commands stored there. If the CDG command requires # a screen update, a local array of pixels is updated to # reflect the new graphic information. Rather than update # directly to the screen for every command, this local array # is output to the screen ten times per second (configurable). # Doing an actual screen refresh for every command consumes # a lot of CPU horsepower. # # NOTE: Pygame does not currently support querying the length # of an MP3 track, therefore the GetLength() method is not # currently implemented. # # There
Re: [Pykaraoke-discuss] CAVS' "Super CD+G" format
Any insights here would be welcome. I infer from the patent that if I can get to MCG files, they might be reasonably parseable with the current engine... I'd definitely like to learn more about this. Do you know if any players other than CAVS have managed to decode it? I haven't heard of any. I'd also like to add .kok and .lrc support, though those are probably less interesting to you KJs. Which reminds me... I set up a little wiki page to note down requested features for PyKaraoke. If you'd like to add anything (or even better tick some off the list :-)) it's at: pykaraoke.wikispaces.com Feel free to chip in, add a separate section for a professional player etc. Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Re: FINALLY -- ghod I hate SuSE
This one (I'm calling it pycdg3.py) keeps up with the Doobie Brothers track at full screen size, with no changes. The noticeable pause seems gone, and my load average went from ca .61 to ca 1.25 on this C-IV 1400. Fab! Now the question is, was it the reduced display update mods, or the removed delay that made it better. Sorry to have you trying out all these versions, but if you could try out the attached version (with the delay back in) we might be on the home straight :-) If it is the delay, it might explain why I haven't had any reports of syncing problems in the past. The delay code was a fairly late addition. Noice. I'll say. Well, remember, it may *take* 100% of available CPU; that's ok. The question is, what does it do when something else is running. And if it turns out to be the delay causing problems, I'll need to find some other solution to stop it using 100% CPU when it's not actually doing anything. Kelvin. #!/usr/bin/env python # pycdg - CDG/MP3+G Karaoke Player # Copyright (C) 2005 Kelvin Lawson ([EMAIL PROTECTED]) # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # OVERVIEW # # pycdg is a CDG karaoke player which supports MP3+G and OGG+G tracks. # # The player uses the pygame library (www.pygame.org), and can therefore # run on any operating system that runs pygame (currently Linux, Windows # and OSX). # # You can use this file as a standalone player, or together with # PyKaraoke. PyKaraoke provides a graphical user interface, playlists, # searchable song database etc. # # For those writing a media player or similar project who would like # CDG support, this module has been designed to be easily incorporated # into such projects and is released under the LGPL. # REQUIREMENTS # # pycdg requires the following to be installed on your system: # . Python (www.python.org) # . Pygame (www.pygame.org) # . Numeric module (numpy.sourceforge.net) # USAGE INSTRUCTIONS # # To start the player, pass the CDG filename/path on the command line: # python pycdg.py /songs/theboxer.cdg # # You can also incorporate a CDG player in your own projects by # importing this module. The class cdgPlayer is exported by the # module. You can import and start it as follows: # import pycdg # player = pycdg.cdgPlayer("/songs/theboxer.cdg") # player.Play() # # The class also exports Close(), Pause(), Rewind(), GetPos(). # # There are two optional parameters to the initialiser, errorNotifyCallback # and doneCallback: # # errorNotifyCallback, if provided, will be used to print out any error # messages (e.g. song file not found). This allows the module to fit # together well with GUI playlist managers by utilising the same GUI's # error popup window mechanism (or similar). If no callback is provided, # errors are printed to stdout. errorNotifyCallback should take one # parameter, the error string, e.g.: # def errorPopup (ErrorString): # msgBox (ErrorString) # # doneCallback can be used to register a callback so that the player # calls you back when the song is finished playing. The callback should # take no parameters, e.g.: # def songFinishedCallback(): # msgBox ("Song is finished") # # To register callbacks, pass the functions in to the initialiser: # cdgPlayer ("/songs/theboxer.cdg", errorPopup, songFinishedCallback) # These parameters are optional and default to None. # # If the initialiser fails (e.g. the song file is not present), __init__ # raises an exception. # IMPLEMENTATION DETAILS # # pycdg is implemented as one python module. It performs all # of the CDG file decoding locally, and gets audio playback # and video display capabilities from the pygame library. # It also uses the python Numeric module, which provides # fast handling of the arrays of pixel data for the display. # # All of the information on the CDG file format was learned # from the fabulous "CDG Revealed" tutorial at www.jbum.com. # # The player is run within a thread to allow for easy # integration with media player programs. The thread starts # the pygame MP3/OGG playback, and then monitors the current # time in the song. It reads the CDG file at the correct # location for the current position of the song, and decodes # the CDG commands stored there. If the CDG command
Re: [Pykaraoke-discuss] *Creating* CDG files
Anyway, the format's pretty simple, so generating the final output isn't too hard. It's coming up with what to show in the first place that's the challenge :) It basically just means coming up with a decent palette (fairly easy), picking a readable but fast-to-display font, and timing things so the words are on the screen *before* they need to be sung and getting them to highlight as they're sung. 'tis fun :) Kelvin probably has more input, too :) I agree. Given our experience from pycdg, generating the correct CD+G commands shouldn't cause us any difficulty. I reckon the main effort would be in creating the GUI to control it all, building up the on-screen graphics etc. I don't get much pleasure from writing GUI applications, but if someone was interested in developing that side I'd be happy to help out with the CD+G generation side. Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Re: FINALLY -- ghod I hate SuSE
Oh, it's definitely better, It's not perfect, but it's imperfect in a substantially less annoying way. :-) This is good news. If I get the chance tomorrow I'll split the screen up into more tiles and maybe we can squeeze some more performance out. I'd be interested to hear how the new version goes, to see whether the delay was causing any damage. I'd like to put that back in otherwise we'll end up with reports of 100% CPU usage. Thanks, Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Re: FINALLY -- ghod I hate SuSE
Hi Jay, Thanks for the feedback. So do you think this is an improvement on the previous performance? If it's difficult to tell with the new 1/4 second display-dropping code then let me know and I'll take it out. If it's an improvement then maybe the thing to do is divide the screen into smaller segments. I've made a few updates tonight, if you could help by trying them out that would be great. Although the last version only scaled the modified tiles, it still did a full update() on the entire screen. This one only updates the modified tile. I've also removed a small delay that was in there to reduce CPU load (which stops it constantly polling for the current song time). I'm wondering whether some systems can hit this and block for a long time, doing no work at all. It will take your CPU load up to 100% if it wasn't already. I also added some profiling code in there using the hotshot module. It hasn't turned out to be useful unfortunately - according to the documentation it doesn't play well with threads. The accumulated time it spews out is totally incorrect for instance. I've disabled it in there for now. Cheers, Kelvin. At the 15 fps you set it to, it can just about keep up with SC8119-1, but I can see the pauses. Again, this is at: screen #0: print screen:no dimensions:1280x1024 pixels (361x271 millimeters) resolution:90x96 dots per inch depths (7):24, 1, 4, 8, 15, 16, 32 root window id:0x60 depth of root window:24 planes number of colormaps:minimum 1, maximum 1 default colormap:0x20 default number of colormap cells:256 preallocated pixels:black 0, white 16777215 options:backing-store NO, save-unders NO largest cursor:64x64 current input event mask:0xfa4031 KeyPressMask EnterWindowMask LeaveWindowMask KeymapStateMask StructureNotifyMask SubstructureNotifyMask SubstructureRedirectMask FocusChangeMask PropertyChangeMask ColormapChangeMask number of visuals:8 default visual id: 0x23 visual: visual id:0x23 class:TrueColor depth:24 planes available colormap entries:256 per subfield red, green, blue masks:0xff, 0xff00, 0xff significant bits in color specification:8 bits Hope that's informative enough. Have you profiled it? Can you profile it? Can I profile it? :-) Cheers, -- jra #!/usr/bin/env python # pycdg - CDG/MP3+G Karaoke Player # Copyright (C) 2005 Kelvin Lawson ([EMAIL PROTECTED]) # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # OVERVIEW # # pycdg is a CDG karaoke player which supports MP3+G and OGG+G tracks. # # The player uses the pygame library (www.pygame.org), and can therefore # run on any operating system that runs pygame (currently Linux, Windows # and OSX). # # You can use this file as a standalone player, or together with # PyKaraoke. PyKaraoke provides a graphical user interface, playlists, # searchable song database etc. # # For those writing a media player or similar project who would like # CDG support, this module has been designed to be easily incorporated # into such projects and is released under the LGPL. # REQUIREMENTS # # pycdg requires the following to be installed on your system: # . Python (www.python.org) # . Pygame (www.pygame.org) # . Numeric module (numpy.sourceforge.net) # USAGE INSTRUCTIONS # # To start the player, pass the CDG filename/path on the command line: # python pycdg.py /songs/theboxer.cdg # # You can also incorporate a CDG player in your own projects by # importing this module. The class cdgPlayer is exported by the # module. You can import and start it as follows: # import pycdg # player = pycdg.cdgPlayer("/songs/theboxer.cdg") # player.Play() # # The class also exports Close(), Pause(), Rewind(), GetPos(). # # There are two optional parameters to the initialiser, errorNotifyCallback # and doneCallback: # # errorNotifyCallback, if provided, will be used to print out any error # messages (e.g. song file not found). This allows the module to fit # together well with GUI playlist managers by utilising the same GUI's # error popup window mechanism (or similar). If no callback is provide
Re: [Pykaraoke-discuss] Re: FINALLY -- ghod I hate SuSE
OK chaps I've knocked up a quick proof of concept. Jay, could you try out the attached pycdg.py please? Basically I've just divided the screen into four segments. I now only do the scaling on the segments that have been updated. I'm not sure how it will pan out, so before I tidy it up and do it properly, could you give this one a go? FPS is set to 30. That first draft was a little rough round the edges. Amongst other things, it didn't update the screen on Preset commands. I've attached the latest version for your testing pleasure. Beware that this one includes some code to bar any screen updates if the decoding gets 1/4 second behind the music. I figure the best thing to do in these situations is to not add insult to injury by carrying on performing slow output scaling. If there's a spell of heavy CPU activity it'll stop doing any updates, allowing the CPU to catch up quicker. The thinking is that a spell of no updates is better than a spell of out of sync updates. Cheers, Kelvin. #!/usr/bin/env python # pycdg - CDG/MP3+G Karaoke Player # Copyright (C) 2005 Kelvin Lawson ([EMAIL PROTECTED]) # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # OVERVIEW # # pycdg is a CDG karaoke player which supports MP3+G and OGG+G tracks. # # The player uses the pygame library (www.pygame.org), and can therefore # run on any operating system that runs pygame (currently Linux, Windows # and OSX). # # You can use this file as a standalone player, or together with # PyKaraoke. PyKaraoke provides a graphical user interface, playlists, # searchable song database etc. # # For those writing a media player or similar project who would like # CDG support, this module has been designed to be easily incorporated # into such projects and is released under the LGPL. # REQUIREMENTS # # pycdg requires the following to be installed on your system: # . Python (www.python.org) # . Pygame (www.pygame.org) # . Numeric module (numpy.sourceforge.net) # USAGE INSTRUCTIONS # # To start the player, pass the CDG filename/path on the command line: # python pycdg.py /songs/theboxer.cdg # # You can also incorporate a CDG player in your own projects by # importing this module. The class cdgPlayer is exported by the # module. You can import and start it as follows: # import pycdg # player = pycdg.cdgPlayer("/songs/theboxer.cdg") # player.Play() # # The class also exports Close(), Pause(), Rewind(), GetPos(). # # There are two optional parameters to the initialiser, errorNotifyCallback # and doneCallback: # # errorNotifyCallback, if provided, will be used to print out any error # messages (e.g. song file not found). This allows the module to fit # together well with GUI playlist managers by utilising the same GUI's # error popup window mechanism (or similar). If no callback is provided, # errors are printed to stdout. errorNotifyCallback should take one # parameter, the error string, e.g.: # def errorPopup (ErrorString): # msgBox (ErrorString) # # doneCallback can be used to register a callback so that the player # calls you back when the song is finished playing. The callback should # take no parameters, e.g.: # def songFinishedCallback(): # msgBox ("Song is finished") # # To register callbacks, pass the functions in to the initialiser: # cdgPlayer ("/songs/theboxer.cdg", errorPopup, songFinishedCallback) # These parameters are optional and default to None. # # If the initialiser fails (e.g. the song file is not present), __init__ # raises an exception. # IMPLEMENTATION DETAILS # # pycdg is implemented as one python module. It performs all # of the CDG file decoding locally, and gets audio playback # and video display capabilities from the pygame library. # It also uses the python Numeric module, which provides # fast handling of the arrays of pixel data for the display. # # All of the information on the CDG file format was learned # from the fabulous "CDG Revealed" tutorial at www.jbum.com. # # The player is run within a thread to allow for easy # integration with media player programs. The thread starts # the pygame MP3/OGG playback, and then monitors the current # time in the song. It reads the CDG file at the correct # location for the current position of the song, and
Re: [Pykaraoke-discuss] Re: FINALLY -- ghod I hate SuSE
Let me confirm this: *you're* doing the scaling, manually? I would have thought the {mumble} library was doing it for you? Semi-manually. I paint into unscaled segments and then call pygame.transform.scale() at update-time which does all the scaling for you. I'm not aware of any pygame feature that auto-scales your output surface. Previously I scaled up the entire surface on every update. Now I'm only scaling up the segments that have changed, leaving the other segments totally unmodified and unscaled. With four segments this should give us an *up to* 4x performance improvement in the scaling part of the code. Thanks to the fact that CD+G tends to roll across the screen it's not very often that you'll have to scale more than one segment in one update. Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss
Re: [Pykaraoke-discuss] Re: FINALLY -- ghod I hate SuSE
I've downloaded it; I'll check it today. Saw your note about depth; I'll play with that too. Cheers, looking forward to hearing from you. If it's an improvement but still not quite enough, I can divide the screen into smaller segments. If it's worse.. well at least we tried. Kelvin. --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click ___ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss