Forum Home · Forum Guidelines · Help · Search
![]() ![]() |
Jan 1 2009, 08:44 AM
Post
#1
|
|||||||
|
Taboo - An ASCII Drum Tab Editor This thread is about the (heavily in development) drum tab editor I'm working on, working title Taboo. Not particularly punchy, but that's what I called my previous attempt, and 'tab' is right there in the name (as is 'oo', as in 'object-oriented'), so I thought it was suitably fitting. Anyway, skip this intro rant if you want to get to trying it out. QUOTE If you've ever tried writing a drum tab from scratch, then you probably know it's pretty hard going. You fire up Microsoft Word or an equivalent, type out some |'s and a whole lot of -'s, then copy them around until you have a few lines made up of a few bars. Then you can fire up your music, and start selecting some of those -'s and punching at your keyboard to replace them with letters. Perhaps you get lucky and this song you're tabbing sounds a lot like another song you already have a tab of. So you open that up in Word and grab the similar verses and start editing away at them. You quickly realise however you're better off just copying your newly-edited bar for the rest of the song than using anything already in your old tab. And so it's back to the play-pause-point-select-overwrite-rewind-play loop for the next few hours or so. Eventually you give up and hit up Google for a "drum tab editor". You find one likely candidate - Dtab. "Brilliant!" you think, before finding out that you're only getting a demo that tells you to buy it every 30 seconds or so and that you can't keep track of the layout when trying to tab things. Congratulations - you're me! I'm a huge fan of drum tabs as a learning tool, but writing them in Word can be pretty tiring. I've been diving into C++ a bit recently as my pet project over the summer break, and decided to code up an editor as a pet project - something on a topic I know about to get a little more familiar with the language and Windows Forms. My old version was written in Python using the pyglet library, and while it was pretty effective and great practice, it was severely limited. Windows Forms however is unbelievably more effective, so more than ever I can see a long, bright path of code ahead. Sure, but what is it? Basically, Taboo is a program that aims to make drum tab editing as painless a process as possible, by providing intuitive controls to let you work with tablature in its natural ASCII form. As a tabber myself, I know what I want an editor to offer, so over the weeks and months ahead, I'm going to keep coding in more features to make things increasingly streamlined. I'm trying to keep required controls at a minimum, and atm you can do everything with the mouse and Ctrl, Alt and Shift keys. Currently, the functionality it offers is pretty terse - editing notes, clearing/adding bars and lines, simple vertical copying/pasting - but over time I have plenty of ideas to have a crack at (including Live Input which I had rather pretty well implemented in the old Python version). I'll say again it's still heavily in development, but I thought I'd make a thread to let you folks know about it. Some may even be interested in following its progress, which has been very rapid so far. I'll update this thread as things happen. You can grab the latest version from the links below (it's nowhere near commanding its own site yet Oh, and it is completely free, now and well into the distant future. How it looks at the moment: Where do I get it? UPDATE: Download links should work now, hopefully for good. Thanks for the hosting, Dropbox! NEW(ISH) VERSION! - Taboo v0.6 Simply extract the contents of the archive and run Setup.exe to install Taboo wherever you want it. I'm hoping distributing an installer will cut down the difficulties getting it to run, so we'll see how it goes. However if you sill have troubles, you can just download the files. ALSO, v0.6 seems to be throwing a lot of exceptions for some users - v0.5 should be stable if you need an alternative. If you get some Windows Side-By-Side Configuration error... Microsoft Visual C++ 2008 Redistributable Package (site) - If you don't have this or Visual C++ installed already, you MAY need to install it to get things working. All it does is add support for projects written in Visual C++, and it's pretty small. Hopefully you don't need it, but again, I'm pretty new to this distribution thing Old versions: Taboo v0.5 Taboo v0.4.1 Taboo v0.4 Taboo v0.3 -------------------- |
||||||
Jan 2 2009, 05:55 PM
Post
#2
|
|||||||
|
That's awesome you wrote that...do you just click what piece should be next?
-------------------- Carl: "I always thought a man with two wives would be happy."
Lenny: "No, you're thinking about a man with two knives." Moe (holding two knives): "I gotta tell you guys...I'm feeling pretty good." |
||||||
Jan 2 2009, 08:46 PM
Post
#3
|
|||||||
|
After spending two minutes with it, I've gotta say... it's kinda cool.
Looking forward to trying it out when there's a bit more functionality. -------------------- "All truth is simple... is that not doubly a lie?" -- Friedrich Nietzsche
|
||||||
Jan 2 2009, 10:10 PM
Post
#4
|
|||||||
|
Cheers guys - you basically click in individual notes to change them, or you can hold Shift to clear bars/add lines, Ctrl to delete lines, Alt to copy and paste, stuff like that.
I'm perhaps halfway through v0.4 now, and it's hopefully a big leap in terms of usability. So far I've got 1 tab per tab (just Edit which you can toggle to Input mode), and you can have multiple tabs open at once (although you prolly won't be editing multiple tabs at a time, but you can copy from one and paste to another), I've got about half the menu buttons doing something, there's a purdy .chm help file, and I've hidden the log textboxes. Still a bit more to go, like Undo/Redo, proper Open/Save, and I'll probably include Insert Template in the next version because it's pretty important. Thanks for the support, and could I ask what OS you're using and whether it worked off the bat? -------------------- |
||||||
Jan 4 2009, 12:20 AM
Post
#5
|
|||||||
|
Wow. First off, I'd like to say thank you very much for this program. I used to use one called Taborama, back before the copywright issues and such. It worked just fine...I mean...compared to using a word processor, it was very welcome. Two problems with Taborama...(1) You can't find it anymore (I still have my copy). (2) It doesn't work on Vista (It pre-dates it significantly).
Having said that. Yours will be Vista compatible, correct? I guess i could just try out your preview version and see though...which I will do after this post. Anyways, Im sure it's going to be very awesome, and hugely useful to this drum tab community. So anyways, Thank you very much! -A happy drummer. ------This section added after trying program-------- I really do like the way this is set up so far. I am using Vista and i got the program to work only after the program from the second link u provided. I've had some realizations though. If this is accepted as widely as i believe it will be, then it will finally standardize nearly EVERYTHING about tabs, all the little variations that exist throughout the library now will disappear. This is good. It not only makes this an advancement in reducing the labor, time, and redundancy of drum tabbing. But for readability and understanding notations also. So once again, thank you Sir...Well done. Questions: Are you willing to negotiate with us on notation symbols? or will be the set and done? or will we be able to edit them ourselves with the final program? Will there be options for bars of different time signatures and such? Will there be variations of the program for other instrument tablature? |
||||||
Jan 4 2009, 12:52 AM
Post
#6
|
|||||||
|
Thanks Slug, glad to be of service!
I'm tidying up v0.4 for release as we speak, and I'll update this when it's ready (should be about 10 minutes). It's a pretty big leap from 0.3, so hopefully you'll all find it easier to use. The next version is going to be all about customisation (check out the 0.4 Help file), so once that's done it should hopefully be pretty solid overall. Taboo should definitely be Vista compatible, since I'm developing it with Visual Studio 2008 Professional (it's free for students! <3 Microsoft (yes, I went there)). It uses Windows Forms, so I'm hoping it works happily with pretty much any version of Windows, but only time will tell. I'm less sure about other OSes though. Back soon! EDIT: QUOTE Questions: Are you willing to negotiate with us on notation symbols? or will be the set and done? or will we be able to edit them ourselves with the final program? Will there be options for bars of different time signatures and such? Will there be variations of the program for other instrument tablature? Yes, yes and no. I'm a very big fan of standardisation when it makes things simpler and more efficient, as is the case with drum tabs. Check this out if you don't believe me There will definitely be support for odd time signatures and extended/shortened bars and triplets and all that stuff, mostly because all the songs I tab have those things in them As for other instruments, a pretty confident no for the time being. I'm really only a drummer, and I'm mainly developing this to learn how to work with Windows Forms. However I've enjoyed it imensely so far, so who knows, someday I might have a shot at guitar tab? I'm not a big fan of that stuff though, because it's just notes/chords, and doesn't emphasize the rhythm the way drum tabs do. Feel free to suggest how I could go about it though, and I'll keep it in mind! Thanks again, I love questions -------------------- |
||||||
Jan 4 2009, 01:15 AM
Post
#7
|
|||||||
|
Ahh! You're the one who started that thread. I remember it. I like the idea of standarisation also, which is why I asked. Thank's for the answers! I'll keep up with you on this project and see if i can come up with more questions then!
|
||||||
Jan 4 2009, 01:20 AM
Post
#8
|
|||||||
|
Alrighty, here it is! Taboo v0.4. Odd how the EXE file size jumped from 80KB to 900KB... oh well. For any new users, remember to check the first post if you get some Windows side-by-side configuration error - there's a redistributable package that fixes that. I can fix it myself somehow with manifests or something but I'll need to look a little further into that.
Anyway, see what you think, and remember to check out the pretty help file! -------------------- |
||||||
Jan 4 2009, 02:35 AM
Post
#9
|
|||||||
|
Last reply tonight, I've said enough with love that I feel like im hitting on you, so I'm gonna give it a break, haha.
Using the help file I was able to understand and enjoy most the features of the program. It's comming out very nicely, I erased most of the Foo Fighters tab and made my own on it. The only problem I ran into was an error message when I tried to produce a line while the tab space was completely empty. I had to leave part of the FF's Tab and go from there. Anyways though, It seems like you're doing this in the smartest way possible. I'll mess with it more tommorow and see what I can make of it all-in-all. Thanks again for this program. -Slug |
||||||
Jan 4 2009, 03:04 AM
Post
#10
|
|||||||
|
Cheers, and my pleasure.
Believe it or not, I'm trying to tab something in it now, and it's the first time I've ever actually tried using it. If someone else had written this, my comments would be "Uh, I seem to get an error whenever I do anything", but since I wrote it, my comments are "I thought I fixed all those stupid out of index errors. Crap." Also heads up, the Insert Paste (Ctrl + Alt + RMB) doesn't seem to work properly with text you entered in Input mode. I'll fiddle around with the code and try and get a v0.41 together soon to fix a bunch of these errors. Fortunately it doesn't crash if you get them, so just hit continue and everything should continue working fine. 0.41 sounds good because 41 is my second favourite number, because of the Dave Matthews Band song #41. Which I tabbed btw but we don't have a license for it And perhaps the first thing I try to tab with it shouldn't be the intro to Wax Simulacra, but what can you do? -------------------- |
||||||
Jan 4 2009, 07:15 PM
Post
#11
|
|||||||
|
Like the new look... time for bug reports! Yay!
I can't longer right click in the tab body without getting an error, as Slug mentioned (if it's empty, as soon as there's anything there, it's fine). CTL+Z only works for 5 things. "Undo successful, at #4! Undo successful, at #3! Undo successful, at #2! Undo successful, at #1! Undo successful, at #0! Undo failed - queue empty!" When I started a new tab, I left-clicked to add in some random text and then started adding lines. I added 4 lines and then CTRL+Z'd everything. Afterwards, when I would add new lines, I would only get the name of the drum (e.g. CC, BD, etc.) but none of the dashes (I didn't get the error message for not having anything in the tab body, however). I don't have much time to spend with it, but nothing else major really happened. Windows XP, by the way. -------------------- "All truth is simple... is that not doubly a lie?" -- Friedrich Nietzsche
|
||||||
Jan 4 2009, 11:18 PM
Post
#12
|
|||||||
|
Thanks crazyguy! I'm still not sure what to do about the Controls panel - it's currently in a state of almost useful enough to stay and get more buttons, but not quite useful enough to not just get relegated to the Config Panel once I've done it. I suppose if it's just a tab, there's not hurt in leaving it there.
Concerning your undoing, I've got a variable that defines the maximum length of the undo queue, and it's at 5 by default. In v0.5 once I get the Config Panel working, you'll be able to set this to whatever you want. I figured most undoing would be to fix up a missed click or two, so 5 would be plenty for now. As for those errors, hopefully all those have been fixed from my efforts last night. The whole tab is a single string displayed in a textbox. The textbox is pretty smart, and it stores its contents in an array of strings, one for each line. The main problem with all those index errors was that adding breaks and things inserts "\r\n" into the string, and if you do this at the end, the textbox interprets it as gaining an extra line, but there's no characters on the final line, so when you click at the bottom you actually click on the second-last line. To avoid those index errors I had a text that checks whether there's a line beneath the one you're clicking on, and this was returning a false positive. After a bit of a struggle I hopefully fixed that for good by having a space character stuck on the end of the tab string at all times. So if you're wondering why there's a space at the end in the next version, that's why. I've made sure it shouldn't get in the way though. I'm almost done with v0.4.1 too. Here's what's done so far: CODE ------------------- (5/1/2009) v0.4.1 ------------------- + Fixed scroll getting stuck before the top + Fixed scrollbar returning to the top semi-randomly... I think + Fixed scrollbar returning to the top on undo/redo and on first click + Fixed LMB bugging out if there was less than 2 characters on a line + Fixed copy/paste only working on original tab + Fixed Insert Paste not inserting newlines properly + Fixed paste data bugging out if it extended off the bottom + Fixed Toggle Edit getting stuck in Edit mode until textbox unfocused + Fixed textbox losing focus on mouse entry in Input mode + Fixed drum name logging error + Fixed save instructions using open instead of save + Fixed undo being possible in Input mode (since it doesn't work) + Fixed error when inserting lines/breaks below the last line + In fact, hopefully fixed every error with indexes greater than text length + Added this Version History to the help file I've got a couple more things errors that keep cropping up too. The problems are all coming from newlines which sucks because you can't see them. Not long now though! EDIT: Alright, it's done. Grab Taboo v0.4.1 here, and hopefully stop crashing! Let me know if you find any more bugs, because I ferreted pretty hard. Above changelog updated. Enjoy! -------------------- |
||||||
Jan 5 2009, 12:10 PM
Post
#13
|
|||||||
|
Hey, man, just wanna congratulate you on how fast you're moving with this thing. Great job.
All right, testing out the newest version... definetely the easiest to use so far. I find it kinda weird that if you click below your last line, it adds a hit wherever you clicked. Also, if you add in a line break, it normally takes one CTL+Z to get rid of it. However, if you decide to add text, it doesn't matter if you then click okay or cancel, it takes two. Something very minor that I thought was kinda weird. "Click: (372, 81), line 4/4, char 258 Click: (371, 119), line 4/4, char 258 Click: (374, 146), line 4/4, char 258 Click: (368, 189), line 4/4, char 258 Click: (370, 241), line 4/4, char 258 Click: (369, 312), line 4/4, char 258 Click: (369, 357), line 4/4, char 258 Click: (370, 428), line 4/4, char 258 Click: (373, 493), line 4/4, char 258" All those affected the same character. If I insert a line break, I can then click anywhere below that to bring up the text box. It would be helpful if you could scroll below your last line. Something you should be happy to know: in my attempt to break your program, I typed up a random line of tab with four instruments followed by a page break. I then began copying+pasting. When I got up to copy+pasting around 77 lines or so, the program still didn't crash up or freeze and the memory usage remained steady at 24MB. It did kinda blank out on me for a bit while processing the tab, but that should be expected. -------------------- "All truth is simple... is that not doubly a lie?" -- Friedrich Nietzsche
|
||||||
Jan 5 2009, 12:40 PM
Post
#14
|
|||||||
|
I finally got around to using it and it's very simple, at first I couldn't figure out how to start a tab, so I copy/pasted from the templates and went from there.
The only suggestion thus far would be to add a notation for what kind of editing mode you're in. I'll play with it today and let you know if I have any others, but it seems really convenient (I'm not much of a drummer, but if I was, I'd use it). Great job man. EDIT: Playing around some more and it seems like you can't create a new template, say a custom one? Unless you want to overwrite the previous ones. It'd be cool to do that... Also, is there a way to export the tab? Say, into a Word or PDF doc to display or print? One more and I'm off to lunch, perhaps a better save and open GUI...that way users can see what works they already have done without switching through windows... And the title didn't save, when I reopen the work it reverts back to Foo Fighters... EDIT: I found out how to save in different forms now...did you use Code::Blocks to create this? -------------------- Carl: "I always thought a man with two wives would be happy."
Lenny: "No, you're thinking about a man with two knives." Moe (holding two knives): "I gotta tell you guys...I'm feeling pretty good." |
||||||
Jan 5 2009, 06:23 PM
Post
#15
|
|||||||
|
Hey, man, just wanna congratulate you on how fast you're moving with this thing. Great job. lol. I'm on holidays for another 2 months, and I've been working on it like full time for the last week or so, although the hours are more like 1-5pm + 11pm-3am QUOTE All right, testing out the newest version... definetely the easiest to use so far. I find it kinda weird that if you click below your last line, it adds a hit wherever you clicked. Also, if you add in a line break, it normally takes one CTL+Z to get rid of it. However, if you decide to add text, it doesn't matter if you then click okay or cancel, it takes two. Good to hear. The first issue due to the fact that I'm using the textbox function which selects the note that's closest to where you clicked in the textbox, whether or not you clicked any text. However it shouldn't be hard to make it do something different if you click below the last line. Do you think it should add a line/break or just do nothing? Also, I guess you could say that cancelling a comment mod adding to the undo queue is a bug, I never really thought about it QUOTE Something very minor that I thought was kinda weird. [...] All those affected the same character. If I insert a line break, I can then click anywhere below that to bring up the text box. Yeah, same thing again. If you insert a line break, the last line is a non-tab line, so if you click anywhere under it you'll be changing the comment of that line. I'll try and disable this and report back. QUOTE It would be helpful if you could scroll below your last line. Definitely! I've been working with Python a lot this year, and when you're editing your Python scripts in the editor, you basically have to put 50 newlines beneath your bottom line to get the scrollbar to go down! Then with Visual Studio, it automatically lets you scroll down just far enough that your last line is at the top of the window. It's a beautiful thing. I know how to do this, but I'm having to wrestle with it. Windows Forms has some surprising shortcomings, things that make you go "wait... why can't I do that?" One of those is access to the scrollbar of a textbox. You have to import some much uglier functions to manipulate the scrollbar, but you can set the max scroll distance, so if I set that to the number of line of tab, it should work nicely. I very much agree on this one. QUOTE Something you should be happy to know That makes me happy indeed! You'll probably hit more walls if you copy a large chunk and paste it a few times rather than a small chunk lots of times, given how my clipboard is coded (basically a linked list of strings, though I probably should make it an array). I copy about 30 lines (Wax Simulacra - Verse 1) and it took about a second to paste Anyway, thanks a lot for your 'playtesting' - it can only make it better! -------------------- |
||||||
Jan 5 2009, 06:25 PM
Post
#16
|
|||||||
|
Apparently there's a limit to how many quotes you can have in a post, so I just put it in two. If that's not cheating the system, I don't know what is. But hey, that's what being a mod's all about
I finally got around to using it and it's very simple, at first I couldn't figure out how to start a tab, so I copy/pasted from the templates and went from there. Simple is what I'm going for - helpful instructions come later, unfortunately QUOTE The only suggestion thus far would be to add a notation for what kind of editing mode you're in. For sure. Since I fixed all the focus bugs and Ctrl + E getting stuck, it should be easier to keep track of, but I definitely need something - maybe like "Tab Name - Edit" on the tab page? I'll play around with that. QUOTE I'll play with it today and let you know if I have any others, but it seems really convenient (I'm not much of a drummer, but if I was, I'd use it). Great job man. That's all I can hope for QUOTE EDIT: Playing around some more and it seems like you can't create a new template, say a custom one? Unless you want to overwrite the previous ones. It'd be cool to do that... Indeed, that'll be the next version. Plenty of user options and persistent storage. It'll do things like load up all your templates and the last tab you were working on as soon as you open the program. Hopefully QUOTE One more and I'm off to lunch, perhaps a better save and open GUI...that way users can see what works they already have done without switching through windows... And the title didn't save, when I reopen the work it reverts back to Foo Fighters... Yeah, hopefully all of this and more will disappear in v0.5. There's no tracking of the app's state atm - the fact that you can change templates at all is really just a bonus QUOTE Also, is there a way to export the tab? Say, into a Word or PDF doc to display or print?[...] EDIT: I found out how to save in different forms now...did you use Code::Blocks to create this? I definitely want to support Word import/export eventually, but for now it's only very rudimentary save/open to .txt files. That will only improve over time. Oh, and Visual Studio (C++) 2008 Professional all the way! It's free if you're a student, although it takes some getting used to. Big thanks again to everyone! It's encouraging beyond words to get this kind of reception! -------------------- |
||||||
Jan 6 2009, 11:21 AM
Post
#17
|
|||||||
|
I just changed the file extension to .doc and it jumbled a bit, but not enough to not fix...odd wording there, sorry...
Yea, the shift+click really was helpful once I tried it...so scratch that suggestion... -------------------- Carl: "I always thought a man with two wives would be happy."
Lenny: "No, you're thinking about a man with two knives." Moe (holding two knives): "I gotta tell you guys...I'm feeling pretty good." |
||||||
Jan 9 2009, 03:19 PM
Post
#18
|
|||||||
|
I tried downloading it and it's a .rar file, which i'm not sure means, and it won't download without an associated program. What should I do?
-------------------- Winners never quit, quitters never win, but those who never win and never quit are idiots
Vote Yes for my tabs in Limbo and five stars for my active tabs! All My love: Led Zeppelin (Drums) Wipeout: The Surfaris (Guitar) Sympathy for the Devil: The Rolling Stones (Guitar) Statesboro Blues: Allman Brothers (Bass) Shooting Star: Bad Company (Drums) Feel Like Makin' Love Bad Company (Drums) Immigrant Song (Live) Led Zeppelin (Guitar) Smooth Santana (Guitar) Run Like Hell Pink Floyd (Bass) No One Like You Scorpions (Guitar) Walk This Way Aerosmith (Guitar) Just What I Needed The Cars (Guitar) An Extra Nail for Your Coffin Lamb of God (Guitar) Roundabout Yes (Bass) Tom Sawyer Rush (Guitar) Coming soon: Drum tab for the black page, By Frank Zappa (No liscence yet, and I'll do it when there is) Drum tab for (Don't Fear) The Reaper, by the blue oyster cult Guitar tab for land of the living, by the stone coyotes. |
||||||
Jan 10 2009, 02:27 AM
Post
#19
|
|||||||
|
It won't even let you download it? Odd. RAR files are basically ZIP archives but generally believed to be a little better. I've never known exactly why - presumably better compression rates - but you can grab WinRAR to open them. It does everything WinZip does plus some extra stuff, although I hear WinZip's caught up and can handle RARs and things. Have you got WinZip, and if so what version?
To be honest I probably should have uploaded it as a ZIP. Oh well, next time -------------------- |
||||||
Jan 10 2009, 10:28 AM
Post
#20
|
|||||||
|
thanks. It works now, but now I only have a forty day trial
-------------------- Winners never quit, quitters never win, but those who never win and never quit are idiots
Vote Yes for my tabs in Limbo and five stars for my active tabs! All My love: Led Zeppelin (Drums) Wipeout: The Surfaris (Guitar) Sympathy for the Devil: The Rolling Stones (Guitar) Statesboro Blues: Allman Brothers (Bass) Shooting Star: Bad Company (Drums) Feel Like Makin' Love Bad Company (Drums) Immigrant Song (Live) Led Zeppelin (Guitar) Smooth Santana (Guitar) Run Like Hell Pink Floyd (Bass) No One Like You Scorpions (Guitar) Walk This Way Aerosmith (Guitar) Just What I Needed The Cars (Guitar) An Extra Nail for Your Coffin Lamb of God (Guitar) Roundabout Yes (Bass) Tom Sawyer Rush (Guitar) Coming soon: Drum tab for the black page, By Frank Zappa (No liscence yet, and I'll do it when there is) Drum tab for (Don't Fear) The Reaper, by the blue oyster cult Guitar tab for land of the living, by the stone coyotes. |
||||||
![]() ![]() |
Copyright © 2007-2008 GuitarTabs, LLC.
All Rights Reserved. | Privacy Policy & Terms