Old 03-11-2009, 07:16 PM   #1 (permalink)
Zuner
 
badmoodguy88's Avatar
 
Join Date: Jun 2008
Posts: 72
badmoodguy88 is on a distinguished road
Smile Tracker [formerly MetronomeDrumMachine]

Zune Applet: Tracker
Creator: Based on original code by DiNoGames, new code by badmoodguy88
Version: Beta
Description:This program is a 4 channel Tracker that uses some DiNoGames' succinct code for his Metronome program. It has up to 64 beats in one measure and 49 sounds.

This is an update replacing my MetronomeDrumMachine program.

The major difference is a new basic GUI and menu that makes laying out patterns easier. It also has a save and load feature as of the 1.3 release.



This program is now under GNU GENERAL PUBLIC LICENSE Version 3. So you can use it and do purity much what ever you want with it so long at the end result is also open source and under GNU GENERAL PUBLIC LICENSE Version 3. I would ask that if you take and use a significant portion of my code that you mention me just as a courtesy, although you are under absolutely no obligation to do so.
This program still contains some code from DiNoGames' Metronome program
I did ask DiNoGames if I could use his code and he has no problems with me using it like this .

-I have a 30gb Zune and those have a faster clock speed than later models. Other Zunes may have more trouble with this program.

This program is easy to grasp and it is now more intuitive than ever. The buttons behave predictably. When selecting tempo, the up d-pad increases the tempo.

Tap Button Back = move selection backwards
Tap Button B = move selection backwards

The four items that can be selected are Tempo, Menu, Maxbeat, and the main tracker edit window.
-In the main window Pressing A changes channels.
-Autoload, loads the last save at the start of the program.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////
======DOWNLOAD LINK HERE======
Source
Tracker 1.3.rar

.ccgame
Tracker 1.3 ccgame.rar
==============================
//////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

----------Bugs and other stuff----------
-There is a slight bug. If you play too many sounds too fast the program will crash after a moment. Playing a sound on all channels, on every beat, at a near max tempo, is the only usual way it happens. Something may be added latter skip that beat length when the tempo is to high or bump the tempo down. If for example set the program to auto load, paused the song, bumped the tempo up to a speed that will make the game crash and then saved the song. It would load this crash causing song each time the game starts. So don't be foolish. Installing and reinstalling the game would get rid of the saved song.
-I wanted people to be able to tune by ear using the notes in the program but I can't tune by ear so I don't know how well I did.
-I notice that wile in the main menu the A button does not always work on the first press. This may just be my Zune because, the Dpad and B buttons work perfectly.

-----------planed improvements-------------------------
***getting things running more smoothly
***getting the code to run more efficiently

-Adding more to the menu.

-----Scales (adding an image of various scales for reference)
-----List of presets (either by channel or for all channels. They cannot really be made until the default sound bank is improved a bit more and becomes more permanent)
-----adding more save and load slots; possibly separate save and load screens.
-----play/stop sound loop one
-----play/stop sound loop two

-Adding controls to alter the pitch, pan, and volume of channels is a possibility. IT would be very easy to add but I don't know if it would greatly affect the smoothness with which Zune can play sound clips. I highly doubt it but if the pitch, pan or volume of currently playing sound effect instances can be altered as they are playing some primitive sound effects could be added; tremolo, flange, phazer, and auto pan shifts. I have not looked into it.

-I also plan on putting in more and better notes/sound clips. If you have a suggestion let me know.

Last edited by badmoodguy88; 03-30-2009 at 05:26 PM.



badmoodguy88 is offline   Reply With Quote

Advertisement [Remove Advertisement]
Old 03-11-2009, 07:27 PM   #2 (permalink)
Crm
Jr. Member
 
Crm's Avatar
 
Join Date: Mar 2009
Location: in your bed?
Posts: 374
Crm is on a distinguished road
Send a message via AIM to Crm
Default

this sounds sweet, i'm dling now
__________________






Crm is offline   Reply With Quote
Old 03-12-2009, 01:33 AM   #3 (permalink)
Jr. Member
 
brenttiscool15's Avatar
 
Join Date: May 2008
Location: Victorville, CA
Posts: 282
brenttiscool15 is on a distinguished road
Send a message via AIM to brenttiscool15 Send a message via MSN to brenttiscool15 Send a message via Yahoo to brenttiscool15
Default

SWEET!
Finally a new app!
__________________






brenttiscool15 is offline   Reply With Quote
Old 03-12-2009, 03:27 AM   #4 (permalink)
Crm
Jr. Member
 
Crm's Avatar
 
Join Date: Mar 2009
Location: in your bed?
Posts: 374
Crm is on a distinguished road
Send a message via AIM to Crm
Default

tried it last night and its pretty nicee
__________________






Crm is offline   Reply With Quote
Old 03-12-2009, 05:19 AM   #5 (permalink)
Zuner
 
badmoodguy88's Avatar
 
Join Date: Jun 2008
Posts: 72
badmoodguy88 is on a distinguished road
Default

thanks



badmoodguy88 is offline   Reply With Quote
Old 03-22-2009, 12:04 PM   #6 (permalink)
you lost the game.
zB Programmer
Moderator
Elite Zuner
 
itsnotabigtruck's Avatar
 
Join Date: May 2008
Posts: 2,403
itsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud of
Default

Looks awesome. If you could declare a license for this, that would be great (see the "Licensing requirements for developers" sticky for more info). I'm going to leave this where it is for now, but if an open-source license isn't specified pretty soon, it'll need to be moved to the Restricted Games and Applications subforum, where it might not be quite as visible.
__________________

signature by vettexl




itsnotabigtruck is online now   Reply With Quote
Old 03-22-2009, 02:13 PM   #7 (permalink)
Jr. Member
 
tech.freak243's Avatar
 
Join Date: Jan 2008
Location: Hotel California
Posts: 430
tech.freak243 is on a distinguished road
Send a message via AIM to tech.freak243 Send a message via MSN to tech.freak243 Send a message via Yahoo to tech.freak243
Default

huray!!!!! a new app! its been a hell of a long time since a good one came out!!!!!!! +rep
__________________


Created by StevenLogiduce<--best dude ever!






tech.freak243 is offline   Reply With Quote
Old 03-22-2009, 02:25 PM   #8 (permalink)
GETTING AWAY WITH MURDER
Retired Staff
Expert Zuner
 
Bolt's Avatar
 
Join Date: Oct 2008
Location: In your closet, in your head
Posts: 3,256
Bolt is a splendid one to beholdBolt is a splendid one to beholdBolt is a splendid one to beholdBolt is a splendid one to beholdBolt is a splendid one to beholdBolt is a splendid one to behold
Send a message via Yahoo to Bolt
Default

I updated the title to reflect what you changed it to. Is that what you wanted? Next time, you can either PM me, Lucifer, or a global, or report the post and ask us to change it.
__________________



Bolt is online now   Reply With Quote
Old 03-22-2009, 05:44 PM   #9 (permalink)
Squirt
 
Join Date: Jan 2009
Posts: 17
UseFull Apps is on a distinguished road
Default

cool a new app



UseFull Apps is offline   Reply With Quote
Old 03-22-2009, 06:21 PM   #10 (permalink)
Zuner
 
badmoodguy88's Avatar
 
Join Date: Jun 2008
Posts: 72
badmoodguy88 is on a distinguished road
Default

@itsnotabigtruck
Yeah I do want this to be 'open source' but it is based on DiNoGames' unspecified 'open source' software. Depending on what ever license he wants for his code this might also be under that license. I think if he has it as LGPU I could make it GPU but that is it.

I don't even know if [assembly: AssemblyCopyright("Copyright © Dirk Nordhusen 2008")] should or should not remain as it is. Basically the portion of the game that keeps track of the tempo(when to play the next sound). It is a small amount of code but complicated. If I should leave it in I will leave it in (as of now it is still there). He does deserve credit for his work, but at the same time it would be nice if I could put my own copyright on this Tracker program. For that reason I would prefer it not being BSD. I would prefer it being GPU purity much just because it would be a little bit of a burn if some one changed my code just a little bit and then made a closed source program from it. But I guess I will bug DiNoGames in a PM and see if he cares at all.

I will probably be releasing a new version in one or two days and I will try to have the license stuff clear in the next version or at least by the end of the week.



badmoodguy88 is offline   Reply With Quote
Old 03-22-2009, 08:14 PM   #11 (permalink)
you lost the game.
zB Programmer
Moderator
Elite Zuner
 
itsnotabigtruck's Avatar
 
Join Date: May 2008
Posts: 2,403
itsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud ofitsnotabigtruck has much to be proud of
Default

Quote:
Originally Posted by badmoodguy88 View Post
@itsnotabigtruck
Yeah I do want this to be 'open source' but it is based on DiNoGames' unspecified 'open source' software. Depending on what ever license he wants for his code this might also be under that license. I think if he has it as LGPU I could make it GPU but that is it.

I don't even know if [assembly: AssemblyCopyright("Copyright © Dirk Nordhusen 2008")] should or should not remain as it is. Basically the portion of the game that keeps track of the tempo(when to play the next sound). It is a small amount of code but complicated. If I should leave it in I will leave it in (as of now it is still there). He does deserve credit for his work, but at the same time it would be nice if I could put my own copyright on this Tracker program. For that reason I would prefer it not being BSD. I would prefer it being GPU purity much just because it would be a little bit of a burn if some one changed my code just a little bit and then made a closed source program from it. But I guess I will bug DiNoGames in a PM and see if he cares at all.

I will probably be releasing a new version in one or two days and I will try to have the license stuff clear in the next version or at least by the end of the week.
Ask him to make it BSD and put both copyright notices in the header of each file, e.g.:

Code:
/* filename.cs
 * Modifications copyright (c) 2009 badmoodguy88.
 * Original copyright (c) 2008 Dirk Nordhusen.
 *
 * <BSD license text goes here>
 */
The AssemblyCopyrightAttribute doesn't really matter, but you could put Copyright (c) 2009 badmoodguy88/Dirk Nordhusen.
__________________

signature by vettexl




itsnotabigtruck is online now   Reply With Quote
Old 03-22-2009, 08:35 PM   #12 (permalink)
Zuner
 
badmoodguy88's Avatar
 
Join Date: Jun 2008
Posts: 72
badmoodguy88 is on a distinguished road
Default

I already sent the message but I guess making it BSD and putting both copyright notices in the header of each file would be OK with me.



badmoodguy88 is offline   Reply With Quote
Old 04-09-2009, 09:15 PM   #13 (permalink)
Member
 
BroiledVictory's Avatar
 
Join Date: Dec 2008
Posts: 500
BroiledVictory will become famous soon enough
Send a message via Skype™ to BroiledVictory
Awards Showcase
Biggest Shouter 
Total Awards: 1
Default

I was planning on making this then I saw you are already working on it! Good Luck!
I can't believe I didn't know this existed until a few minutes ago...
__________________
Formally SmileDog.
Note: I prefer to have conversations over Skype, not over PM.
You will be bottom priority if I happen to be talking to a friend/relative.

thx Jorvette!




BroiledVictory is offline   Reply With Quote
Old 05-01-2009, 02:52 PM   #14 (permalink)
Jr. Zuner
 
Join Date: Oct 2008
Posts: 34
Deathbot64 is on a distinguished road
Default

hey is there anyway of adding your own sounds to this app?



Deathbot64 is offline   Reply With Quote
Old 05-01-2009, 09:38 PM   #15 (permalink)
Jr. Member
 
Grim's Avatar
 
Join Date: Dec 2007
Location: Your house, stalking you!
Posts: 376
Grim will become famous soon enough
Default

i actually used this app last night
+rep
__________________




Grim is offline   Reply With Quote
Old 05-16-2009, 08:56 AM   #16 (permalink)
Jr. Zuner
 
Join Date: Oct 2008
Posts: 34
Deathbot64 is on a distinguished road
Default

hey i know i already asked this but no one answered me but is there anyway of putting different sounds on this app and also is it or will it be possible to save more then once beat/song/whatever you want to call it at once?



Deathbot64 is offline   Reply With Quote
Old 05-16-2009, 02:10 PM   #17 (permalink)
Zuner
 
badmoodguy88's Avatar
 
Join Date: Jun 2008
Posts: 72
badmoodguy88 is on a distinguished road
Default

I did design it so that it would be relatively easy for some one to add but the code is very confusing, because there is just so much of it.
add it as a sound effect (does not need to be in order).
Code:
 SoundEffect 
            Table_Warp, Table_Warp_Drum, Table_Warp_Drum2, Table_Warp_crisp, 
            Casio_HD700_Clap, Casio_HD700_Cowbell_1, Casio_HD700_Cowbell_2, Casio_HD700_Kick, Casio_HD700_Rimshot, Casio_HD700_Snare, Cowbell, Drum, Toms,
            CafeBassII_FunBuzz_C4, CafeBassII_FunBuzz_CS4, CafeBassII_FunBuzz_D4, CafeBassII_FunBuzz_DS4, CafeBassII_FunBuzz_E4, CafeBassII_FunBuzz_F4, 
            CafeBassII_FunBuzz_FS4, CafeBassII_FunBuzz_G4, CafeBassII_FunBuzz_GS4, CafeBassII_FunBuzz_A4, CafeBassII_FunBuzz_AS4, CafeBassII_FunBuzz_B4,
            CafeBassII_FunBuzz_C5, CafeBassII_FunBuzz_CS5, CafeBassII_FunBuzz_D5, CafeBassII_FunBuzz_DS5, CafeBassII_FunBuzz_E5, CafeBassII_FunBuzz_F5,
            CafeBassII_FunBuzz_FS5, CafeBassII_FunBuzz_G5, CafeBassII_FunBuzz_GS5, CafeBassII_FunBuzz_A5, CafeBassII_FunBuzz_AS5, CafeBassII_FunBuzz_B5,
            CafeBassII_FunBuzz_C6, CafeBassII_FunBuzz_CS6, CafeBassII_FunBuzz_D6, CafeBassII_FunBuzz_DS6, CafeBassII_FunBuzz_E6, CafeBassII_FunBuzz_F6,
            CafeBassII_FunBuzz_FS6, CafeBassII_FunBuzz_G6, CafeBassII_FunBuzz_GS6, CafeBassII_FunBuzz_A6, CafeBassII_FunBuzz_AS6, CafeBassII_FunBuzz_B6;
Change the what note will display and the name of the instrument. It does not really matter.
Code:
        string[] Notes = { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09",
                           "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
                           "20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
                           "30", "C4", "C4#", "D4", "D#4", "E4", "F4", "F#4", "G4", "G#4",
                           "40", "A4", "A#4", "B4", "C5", "C#5", "D5", "D#5", "E5", "F5",
                           "50", "F#5", "G5", "G#5", "A5", "A#5", "B5", "C6", "C#6", "D6",
                           "60", "D#6", "E6", "F6", "F#6", "G6", "G#6", "A6", "A#6", "B6",
                           "70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
                           "80", "81", "82", "83", "84", "85", "86", "87", "88", "89",
                           "90", "91", "92", "93", "94", "95", "96", "97", "98", "99",
                           "--", "__"
                            };
        string[] InstrumentNames = { "Silence", "", "", "", "", "", "", "", "", "",
                                     "Silence", "", "Table Warp", "Table Warp", "Table Warp", "Table Warp", "", "", "", "",
                                     "Silence", "Casio HD 700 Clap", "Casio HD 700 Cowbell", "Casio HD 700 Cowbell", "Casio HD700 Kick", "Casio HD 700 Rimshot", "Casio HD 700 Snare", "Cowbell", "Drum", "Toms",
                                     "Silence", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII",
                                     "Silence", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII",
                                     "Silence", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII",
                                     "Silence", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII", "CafeBassII",
                                     "Silence", "", "", "", "", "", "", "", "", "",
                                     "Silence", "", "", "", "", "", "", "", "", "",
                                     "Silence", "", "", "", "", "", "", "", "", "",
                                     ""
                                   };
Load the content here in protected override void LoadContent() It loads all the sound clips all at once but as long as you crop the sound clip down as much as you can it is not really an issue. ~16 MB is a lot more than some musicians had to work with on desktop computers.
Code:
        protected override void LoadContent()
        {
            ////soundclips
            //random sounds
            Table_Warp = Content.Load<SoundEffect>("Missolanious/Table_Warp");
            Table_Warp_Drum = Content.Load<SoundEffect>("Missolanious/Table_Warp_Drum");
            Table_Warp_Drum2 = Content.Load<SoundEffect>("Missolanious/Table_Warp_Drum2");
            Table_Warp_crisp = Content.Load<SoundEffect>("Missolanious/Table_Warp_crisp");
I simply commented out a lot of the soundclip slots. Just make ChannelA = .Play(); into ChannelA = yourSoundEffectname.Play(); and then un-comment the lines of code.
Code:
                        if (SoundclipA == 68)
                        {
                            ChannelA = CafeBassII_FunBuzz_AS6.Play();
                        }
                        if (SoundclipA == 69)
                        {
                            ChannelA = CafeBassII_FunBuzz_B6.Play();
                        }
                    }
                    //if (SoundclipA > 69 & SoundclipA < 80)
                    //{
                    //    //if (SoundclipA == 70)
                    //    //{
                    //    //   Silence ChannelA = .Play();
                    //    //}
                    //    if (SoundclipA == 71)
                    //    {
                    //        ChannelA = .Play();
                    //    }

I would have responded before but I moved onto a different version number that works a little differently and in its current form is less functional. Because it was not going so well I kind of lost interest for a wile and started some thing else that is also not going so well.

Here is the WIP of the new version.
WIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIP|||||||| ||||||||||
Tracker WIP.rar
WIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIP|||||||| ||||||||||
Only channel one works and only one sound clip but it is composed of 4 files and is used to play 8 octaves.



badmoodguy88 is offline   Reply With Quote
Reply

Bookmarks

Thread Tools