Jump to content

audiocommander

Frequent Writer
  • Posts

    1,358
  • Joined

  • Last visited

Everything posted by audiocommander

  1. nice tips, indeed :) As a designer, I want to add one more: 10. check the spelling twice before printing just imagine doing the hard printing/sticking works and then discovering afterwards you just wrote something like "Mibi Box" :o ;D hehe...
  2. well, setting brackets would be the correct programming style, because the compiler then first evalues (index + something) and then array[index]. I can imagine that SDCC does not think of every possible case where brackets are not set / not set as expected :-\ Therefore I programmed the ACDebug/Simulator classes. As you cannot exclude all possible errors (likely this one will not be covered), you can inspect normal illogic behavior by tracking your variables before uploading the code to the Chip :) It's quite normal for me that codes does not work in the first two or three runthroughs; this code really helped me reduce the amount of time finding the errors! I'm not sure what's the point about this example. As you say, an unsigned number that's initiated with 0 and incremented will never be < 0, so this example is just wrong and in my eyes it's unrelevant if it's defined or not: it will just do what it's meant to do: nothing right ;) As you can read in the SDCC manual there are some (esp. loop-) optimisations done by SDCC which can be supressed if not wanted; either by setting compiler flags or using define-statements... However, until now I didn't get to a point where I needed such stuff... Cheers, Michael
  3. if you are programming your own application, you might also want to check these topics: http://www.midibox.org/forum/index.php?topic=6528 (Only one button - DIN board needed?) http://www.midibox.org/forum/index.php?topic=6208.0 (J5 DIN in C) http://www.midibox.org/forum/index.php?topic=6754.0 (Can I toggle controls with boolean operators?) However if you're building something for an existing application like MB-Seq or MidiBox64(e), these hints won't help ;) Regards, Michael
  4. I once damaged the backlight from a blue 2x16 LCD 'cause I had a soldering error on my Core... then I found an orange one @pollin.de for 1,- EUR and simply exchanged em. It was hell getting the new backlight in, because it's about 0.5mm thicker, but in the end I got it... now I got a dark orange backlight with bright orange chars... looks like it would perfectly suit your box! (but I won't give it away ;D)
  5. does it work when you use a bracket? => array[(index + number)];
  6. hallo puddingbrumsel, das hier ist der original-thread, bill war der erste, der ein C64 keyboard gehackt und die sources dazu veröffentlicht hat: http://www.midibox.org/forum/index.php?topic=6505.0 (ehre wem ehre gebührt! ;) ) Grüße, Michael
  7. cool I love that wallpaper! haha, just kidding ;D of course, very nice SID-Box, too... indeed... how'd you do the labeling? I can almost imagine the SID-crazy dancing people on the other side of the room Cheers, Twin-X! Michael and take care of your eyes, these blue LEDs look very bright... ...but I know, I'm also using the blue ones all the time 8) ;D
  8. beautiful, the red casing, red LEDs and even the knobs have red parts... very stylish! I would love to get my hands on this :)
  9. In general, everything is possible... the main IIC_SPEAKJET_Class is nearly finished, most of the time I'm tweaking the main class only, where the MIDI 2 SJ-Functions are handled. I am now quite satisfied, esp. by the experimental mode to play monotimbral sounds by setting all five OSCs and the ENV to the same freq +/- 1 octave; The ENV-Controls (SIN/SAW/TRI...) sound great; there's just a tiny disharmonic freq that I don't know yet where it's coming from... but this also makes the sound a bit dirtier :) But the MSA-pitch thingy still makes me a bit of a headache: I'm supporting setting the Pitch by Notes. The problem with that is, that you can't set the pitch while playing a stored phrase :( So you either have to pre-program the phrase with the right pitch (LAME! :() or we somehow find a way to trigger allophones in realtime in a convenient way... you know, it's not only the allophones, also the pauses and nextTone higher/lower/faster/slower are quite important to that... so, kind of a SJ-control-control application... It would be great to have a touchpad or a three-dimensional joystick for the vowels in correlation with some other haptic method of consonants and popping noises ??? any ideas? ps: maybe I should release the first version now without phrase storing support; For example, if too much MIDI-message are being sent to the SJ, so that the 64-byte input buffer is overflowing, it could happen that some areas of the chip get overwritten... and because tracking the input-buffer seems very complicated to me, because I don't know when a transmitted message has actually been completed and removed from the SJ's input buffer. Normally this doesn't happen (you have to move three or four faders simultaneously quite fast to get input buffer overflows); and if it does, you'll just hear some MSA-soundocodes which do not hurt. But the attempt of storing something without EOT or dunno what else is potentially dangerous to the chip. So I think I'll disable this feature, but leave it in the code and up to tweakers to experiment with that by everyone's own responsibility...
  10. indeed, I did do Tai Chi and I've been totally puzzled for over a minute asking myself where the hell you did knew that ;D Thanks everyone for your comments and warm words :D I'm going to put all these functions into two or three midiBoxes :) I am so tired of computer-sh*t, esp. about programs I buy... 99% of it is crap, not usable on stage or whenever you purely have to trust on this stuff. (and I intend to release everything to give back to the community;)) right; last week I had a gig, where three people told me they thought I came from the woods and had a very strange dancing style :-\ hmm.. not the way I intended to become a star ;D thanks, goule :) It's been really hard to document all this stuff, but I think I'll have to give back. And I've learned from my faults in the past; that I haven't managed to oss my last project, the harmonizer software. I started with this about 4 years ago, and (I don't know, but) it feels like I've been one of the pioneers of harmonized sensoric music... nowadays where you can find plugins in LIVE and scale features everywhere, I regret that I haven't made my sources public earlier. I listened too much to the people who were telling me I should keep my secrets. Now I know, it's my music that makes me special, not my programming lines :) ::) huuu, glibberish words of wisdom. sorry. I'm not sure if I would do this by hardware. I can imagine there are cases where you whish it wouldn't snap back to 0 (eg. if you're controlling some filters or volume envelopes). If you'd implemented it by software, you can always disable this kind of behavior. I wish you a nice holiday, goule :) I hope we see us soon – Cheers everyone, Michael
  11. Hello speakjetters out there, I'm about to finish the control application; just have to fix the recording buffer... now I'm wondering if I forgot something, that should definitely be part of a first release: Features: - Full MSA and SCP Control! - Trigger Allophones and SoundFX by Notes on CH 1 - Trigger Allophones only by Notes on CH 2 - Trigger SoundFX only by Notes on CH 3 - Change the pitch of currently played Allophones by Notes 0..59 on CH 4 - Play the 5 Oscillators by Notes on CHs 11 to 15 OSC Level is Note Velocity! - Experimental harmonic Multi-OSC playmode by Notes on CH 16: OSC Level is Note Velocity! - Change Pitch by using the 14bit PitchBend-Wheel - Control Bend with CH_AFTERTOUCH - Control Speed by CC (defined) - Control Master Volume by CC (defined) - Send Pauses by CC (defined) - Send Next Slow/High/Low/Fast by CC (defined) - Control OSC-Frquencies and Levels by CC (defined) - Control ENV-Frequency and Type by CC (defined) - Control Distortion (OSC 4 & 5) by CC (defined) - Fire Phrases by PRG-CH 0 to 15 or CC (defined) - Supports System Realtime Messages START, STOP, CONTINUE, RESET - Send PANIC by Foot & AllNotes/SoundsOFF Messages - Record, Preview, Store, Play Phrases with 64 byte buffer most of it already works like a charm... ;D
  12. normally the header in which the variable is declared contains a brief description of what this var is good for. No, because you can really read very detailed comments in the sourcefiles. The interesting parts are concepts that make it necessary to split the functionalities over different places are are not so easy to overlook, even if you read the description, because it is too detailed to get the whole view! For example: if DIN occurs, check lookup-table, set variable state, poll timer, check variable state, do something, mark display to be refreshed, refresh display => in this easy example about 4 or 5 source files, and up to 7 functions are being called. While you could describe the concept as: "press a button, store the state, check the state in a timer, refresh display when needed" (which would make it quite clear); your approach of additional documentation brings no light in this either, in contrary: it opens another battlefield of duplicated information, potential errors and misinterpretations. I also don't think it's an easy task to keep this up to date (esp. for MB-Seq 2.x where v3 is shortly before being released) :-\ Sorry for being so negative on good intentions, I really don't want to discourage anyone, but I believe that adding your powers and time into releasing your own applications as examples to learn from (as mess said), or writing tutorials or walkthroughs (as you mentioned!) or any other descriptive stuff would be a lot more valueable (in my eyes :) ) Or the extension of C-snippets found on the C-Page @ uCApps! Keep it up, moogah! Cheers, ac
  13. yep. please see the sticky thread: http://www.midibox.org/forum/index.php?topic=5230.msg41214#msg41214 : regards, Michael
  14. Hi ChrisHipgrave, and welcome to the Midibox Forums ;) have you had success with any other MIOS Studio Version? Have you installed Java 5 and set this as default Java Version? (you have to set this manually with 10.3.x!, see Java-readme or other recent thread here...) Have you installed Plumstone to enable Midi-Support for Java? Regards, Michael
  15. I just posted my sensorizer project doku complete with pics and two small demo-videos as well as the complete project source code; for consistency and to avoid double postings, I'll refer to the original thread: http://www.midibox.org/forum/index.php?topic=5270.45 Cheers :) Michael
  16. So, it's done. I completed the Sensorizer 8) Please check out the Sensorizer Page and take a look at the features: http://www.midibox.org/dokuwiki/doku.php?id=acsensorizer I also posted a bunch of pics and two sample videos. And of course the sourceCode is also downloadable! It's just a first version, and as soon as I have the time, I'll mainly work on the HUI side; think I'll add 5 more Encoders and get rid of the PLAY/SETUP mode... but as a first version, it's okay for a release... Moreover anyone can compile the code with a bunch of different options, variing in size and features! Especially the sensorizer class, which does the main work is quite stable... Let me know what you think, best regards, AC
  17. Hi moogah, I'd surely love to get a more detailed API function list for MIOS, esp. useful for beginners; but I have to say that for my part I think it's already perfect, because you don't need too much information, else the danger is there to hide the relevant stuff. About the MB app-docs: Although I appreciate your efforts, I don't understand it's purpose: the code is very well commented, so if you don't know what is what and what does something, just read the comments over the relevant function! If the code is to be changed, you'll stand before a huge pile of useless outdated docs with hundrets of files. And normally sourcecode documentations are done via "docheader" directly in the code and then just exported as html. It would be far more interesting to reveal some general ideas and concepts behind the code, because this is what you cannot read out so easily... the between-the-lines-concepts; but one could always ask this in a forum thread... so, I did hopefully not discourage you too much, it's just my 2c :-\ best regards Michael
  18. it's in German, but you should be fine with that calculator: http://www.elektronik-kompendium.de/sites/praxis/led-vorwiderstand.htm If you have normal LEDs, each LED is using ~20 mA ...there are also low current LEDs that just need about 2mA per LED; Just add the mA and you'll know how much current is needed. I'm not so sure about but (depending on the power supply you use) I'd say everything below 400 mA should be fine... if your 5V regulator gets too hot, you'll know that it's too much. Regards, Michael
  19. TK, just wanted to add a final big thanks, with the new wrapper 1.9a MIOS_HLP_Dec2BCD() works like a charm :D Bye, Michael
  20. super :D vielleicht sollten wir bei Mike mal ne Anfrage stellen, ob er die Löcher um die Poties rum ein wenig größer machen kann, das ist schon immer eine heikle Stelle... viel spaß noch beim sid-rocken! :) ac.
  21. also, bevor ich auch in Ratlosigkeit verfalle, noch zwei Sachen: ich kann nur aus Erfahrung sagen, dass du dich durch solche Tatsachen nicht dazu verleiten lassen solltest, deshalb nicht noch mal alles nachzuprüfen. Ich hatte mal einen Lötfehler auf einem Core, der mit einem Display ohne HG-Beleuchtung wochenlang super funktioniert hat... dann habe ich eines mit HGB angeschlossen und auf einmal ist das Ding ständig dunkler geworden und ich hatte komische Probleme am IIC-Bus... hat sich dann rausgestellt, als ich doch das Coremodul mal näher unter die Lupe genommen hatte... war aber auch so ein: "der Core funktioniert auf jeden Fall... ging ja bisher auch..." - Gedanke in meinem Kopf ;) hast du es über den 1st level bootloader probiert? Der loader ist exakt bis 2 sek. nach dem einschalten aktiv, d.h. du musst einschalten und SOFORT das hex-file losschicken... wenn nach diesen 2 sek. MIOS geladen wird und das programm am pic "abstürzt" und der sich aufhängt, geht u.U. nix mehr...
  22. wenn die Pinbelegung stimmt, dann stimmt was am Core-Modul nicht. Es kann durchaus sein, dass das Luminanz-Poti nicht reagiert, aber wenn das Kontrast-Poti nicht geht, würde ich mal sämtliche Bahnen um den Kontrast herum durchchecken. Wie äußert sich den der "geschossene Pic" eigentlich? Ich meine, woraus schließt du, dass der Pic kaputt ist? Wieviel Volt liefert dein Netzteil? Wenn du knapp unter 9V liegst, kannst du es testhalber auf 10V erhöhen? Oder mal ein anderes Netzteil nehmen? Ich hatte das mal, dass mein Netzteil zu schwach war -> Symptom: Balken am Display, MIOS startet nicht. Wenn dein erstes Display im Rahmen des Normalen bleibt, was die Stromaufnahme und Spannungsbereich für die Beleuchtung betrifft, dann halte ich es für extrem unwahrscheinlich, dass das Display den Pic schießt... Hast du es mal ohne MIDI-Verbindung probiert? Einfach die MIDI-Kabel trennen und starten... Es ist sehr hilfreich die Module nicht direkt an den Core zu löten, sondern Platinensteckverbinder zu benutzen. Damit kannst du auch schnell Module durchchecken! Wenn du irgendwo länger als ca. 4 Sekunden rumgelötet hast (mit welcher Temperatur lötest du?), kann es sein, dass Bauteile beschädigt wurden. Ich würde jetzt nicht unbedingt noch ein drittes Display dranhängen, lieber den Fehler weiter eingrenzen, ansonsten hast du vielleicht drei tote Displays... Grüße, Michael edit: funktioniert der Pic / die Anwendung eigentlich ohne LCD? Also sendet deine MB z.B. Midi-Controller?
  23. also, wenn du Balken siehst und den Kontrast nicht steuern kannst, dann überprüfe doch bitte nochmal deine Leitungen zum Display (v.a. auch anhand des Datenblattes für's Display!). Denn eigentlich sollte da "READY" stehen; wenn der Kontrast nicht richtig eingestellt ist, kann das aussehen wie ein paar schwarze Balken! Ansonsten wäre der Fehler tatsächlich am Core zu suchen; am besten, du trennst alle Komponenten (LCD, Module), nimmst den PIC raus und checkst erst mal die wichtigsten +/- Leitungen mit dem Multimeter durch. Es ist auch immer ganz hilfreich mit dem Piepser durchzugehen, ob alle Bahnen leiten, bzw. ob auch + nach - leitet (was ja nicht so gut ist) Grüße, Michael
  24. oh, c'mon! have you never applied tatoo-stickers when you were a kid? (to be honest I'm still doing it sometimes today ;D ...if I find some evil motivs without pluffy doggybabies ;D ) this sounds like fun ;) ac
  25. hast du ein anderes display zum testen? dann siehst du wenigstens ob's daran oder nicht doch wo anders hängt...
×
×
  • Create New...