Jump to content
Why become a member? ×

irvined

Member
  • Posts

    97
  • Joined

  • Last visited

About irvined

  • Birthday 24/09/1954

Personal Information

  • Location
    Bicester

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

irvined's Achievements

Apprentice

Apprentice (3/14)

13

Total Watts

  1. Dunno. Was a long time ago when I did this.
  2. I found the email I received: Hi Doug, Most likely what has happened is that one of the magnets has spun around, Neodymium is so damned powerful that this can happen, and it is something that we did not realise at first. All the magnets should have the SAME polarity facing the pole pieces, now if just one of those gets turned around the magnetic field goes almost dead. The easiest way to remedy this is to check the two magnets on the offending side and see if they are "pushing" against each other, if they are pulling and pushing then there is your problem. The pickup should be like this: N N N N N N N N S S S S S S S S OO OO OO OO < Pole Pieces S S S S S S S S N N N N N N N N I know it seems a bit rich telling a customer how to fix a faulty pickup, (and it is) but by the sounds of it you know what you are doing, so have a go, if it sorts the problem out you can glue the loose magnets on with super glue, but be careful as you could end up going to A&E wearing a Jazz Bass pickup. ( i ended up going into Brisbane A&E once with my arm stuck in an acoustic soundhole!) I am copying in Simon Twine who is in charge of Entwistle distribution. All the best Alan
  3. Hi, I had a similar experience with a set of Wilkinson jazz pickups. I ended up having a long email conversation with Alan Entwwistle. Appears that some of the magnets can get twisted when they are placed in the pickup. Their manufacturers were notified but this may have got through testing? I took mine apart and eventually got it working properly by rotating each of the magnets and comparing the results. Best to mark the original top sides first and then write a list of the results. Regards, Doug
  4. The power cord was ParcelForce and the combo Hermes, dunno why?
  5. I bought a MarkBass combo from them recently. Got a delivery of a mains cable but no combo. Emailed and then phoned. Could only get through to a receptionist who said she would forward my concerns. Hermes turned up with the combo the next day. Then received an email saying it had been delivered. Ordered stuff from them in the past, never had any problems. regards, Doug
  6. Just bought a set. They seem to work fine. Regards, Doug
  7. Hi, I have just bough a really old and bashed Hohner headless. I'm doing some work to make it better and have the same issue with the tuners. I found an item on the net where someone fitted some silicone washers on the tuner screws. I bought a set of these: https://www.modmaker.co.uk/index.php?route=product/search&search=Silicone Washer Seals 10mm OD x 3mm ID (Pack Of 10) I haven't fitted them yet but will let you know if they improve things. regards, Doug
  8. Hi, Is the Blues Crab still available? regards, Doug
  9. Hi, We played the Tackley Beer Festival Saturday night. Good fun gig. P.A. guy had real problems as he had been sent on his own and didn't know the rig! Someone from the crowd came and helped out - saved the show! Can't say better than that. When packing away I managed to fall off the stage, no harm done. I didn't think I had had that much to drink (one pint) must have been stronger than I thought. Regards, Doug
  10. Hi, My left hand seizes up after 45 minutes when playing a gig. I can do a 4 hour rehearsal - no problem. Get on stage and I have 45 minutes. The only way I have found to do two 1 hour sets is to wear a cotton glove on my left hand. Looks stupid but works for me. I drink two bottles of tonic water (at a gig) to try and ease the symptoms but doesn't seem to do a lot. Been happening to me for the past 20 years. If you find a solution - let me know! Regards, Doug
  11. Hi, There's two arduinos in the bass pedals. One to drive each synth One in the DMX lighting unit. Enables you to change the lights with your feet. The Pi pretends it is a desktop and links into two Behringer BCF2000s to drive our Soundcraft UI24R desk. Regards, Doug
  12. Thanks for the advice and update. I will add the tag! I saw the article which prompted me to post the code. I have to say it is all my son's work. I can rough out an idea in arduino code but he is a programmer by trade so does a much better job than I can. Good luck with your pedal. In our band now we have 3 arduinos and a raspberry pi keeping stuff working! Regards, Doug
  13. Just in case anyone wants to see our arduino code: #include <Bounce2.h> #include <MIDI.h> MIDI_CREATE_DEFAULT_INSTANCE(); Bounce ChordDebouncer = Bounce(); Bounce MajorDebouncer = Bounce(); Bounce MinorDebouncer = Bounce(); Bounce AugmentedDebouncer = Bounce(); Bounce DiminishedDebouncer = Bounce(); struct Outputs { enum LEDs { Chord = 8, Major = 9, Minor = 10, Augmented = 11, Diminished = 12, }; }; struct Inputs { enum Switches { Chord = 2, Major = 3, Minor = 4, Augmented = 5, Diminished = 6, }; }; struct SwitchStatus_t { bool Chord = false; bool Major = false; bool Minor = false; bool Augmented = false; bool Diminished = false; } LastSwitchStatus; struct ModeStatus_t { bool Chord = false; bool Major = false; bool Minor = false; bool Augmented = false; bool Diminished = false; } LastModeStatus, ModeStatus; typedef Outputs::LEDs LEDs; typedef Inputs::Switches Switches; const byte octave_3 = 36; void calculateNotes(byte pitch, byte * root, byte * chord2, byte * chord3, byte * chord4 = 0) { *root = pitch + octave_3; if (ModeStatus.Major) { *chord2 = *root + 4; *chord3 = *chord2 + 3; } if (ModeStatus.Minor) { *chord2 = *root + 3; *chord3 = *chord2 + 4; } if (ModeStatus.Augmented) { *chord2 = *root + 4; *chord3 = *chord2 + 3; *chord4 = *chord3 + 3; } if (ModeStatus.Diminished) { *chord2 = *root + 3; *chord3 = *chord2 + 3; } } void handleNoteOn(byte channel, byte pitch, byte velocity) { if (!ModeStatus.Chord) { return; } byte rootNote = 0; byte chord2 = 0; byte chord3 = 0; byte chord4 = 0; if (!ModeStatus.Augmented) { calculateNotes(pitch, &rootNote, &chord2, &chord3); } else { calculateNotes(pitch, &rootNote, &chord2, &chord3, &chord4); } MIDI.sendNoteOn(rootNote, velocity, channel); MIDI.sendNoteOn(chord2, velocity, channel); MIDI.sendNoteOn(chord3, velocity, channel); if (ModeStatus.Augmented) { MIDI.sendNoteOn(chord4, velocity, channel); } } void handleNoteOff(byte channel, byte pitch, byte velocity) { if (!ModeStatus.Chord) { return; } byte rootNote = 0; byte chord2 = 0; byte chord3 = 0; byte chord4 = 0; if (!ModeStatus.Augmented) { calculateNotes(pitch, &rootNote, &chord2, &chord3); } else { calculateNotes(pitch, &rootNote, &chord2, &chord3, &chord4); } MIDI.sendNoteOff(rootNote, velocity, channel); MIDI.sendNoteOff(chord2, velocity, channel); MIDI.sendNoteOff(chord3, velocity, channel); if (ModeStatus.Augmented) { MIDI.sendNoteOff(chord4, velocity, channel); } } void resetMIDIBus() { Serial.write(0xFF); Serial.write(0xF0); Serial.write(0x7F); Serial.write(0x7F); //device id 7F = 127 all channels Serial.write(0x02); Serial.write(0x7F); // command format 7F = all devices Serial.write(0x0A); // action 0x0A= reset Serial.write(0xF7); } void setup() { pinMode(LEDs::Chord, OUTPUT); pinMode(LEDs::Major, OUTPUT); pinMode(LEDs::Minor, OUTPUT); pinMode(LEDs::Augmented, OUTPUT); pinMode(LEDs::Diminished, OUTPUT); pinMode(Switches::Chord, INPUT_PULLUP); pinMode(Switches::Major, INPUT_PULLUP); pinMode(Switches::Minor, INPUT_PULLUP); pinMode(Switches::Augmented, INPUT_PULLUP); pinMode(Switches::Diminished, INPUT_PULLUP); ChordDebouncer.attach(Switches::Chord, INPUT_PULLUP); MajorDebouncer.attach(Switches::Major, INPUT_PULLUP); MinorDebouncer.attach(Switches::Minor, INPUT_PULLUP); AugmentedDebouncer.attach(Switches::Augmented, INPUT_PULLUP); DiminishedDebouncer.attach(Switches::Diminished, INPUT_PULLUP); ChordDebouncer.interval(25); MajorDebouncer.interval(25); MinorDebouncer.interval(25); AugmentedDebouncer.interval(25); DiminishedDebouncer.interval(25); MIDI.setHandleNoteOn(handleNoteOn); MIDI.setHandleNoteOff(handleNoteOff); MIDI.begin(MIDI_CHANNEL_OMNI); MIDI.turnThruOff(); resetMIDIBus(); digitalWrite(LEDs::Chord, HIGH); delay(100); digitalWrite(LEDs::Major, HIGH); delay(100); digitalWrite(LEDs::Minor, HIGH); delay(100); digitalWrite(LEDs::Augmented, HIGH); delay(100); digitalWrite(LEDs::Diminished, HIGH); delay(100); digitalWrite(LEDs::Chord, LOW); delay(100); digitalWrite(LEDs::Major, LOW); delay(100); digitalWrite(LEDs::Minor, LOW); delay(100); digitalWrite(LEDs::Augmented, LOW); delay(100); digitalWrite(LEDs::Diminished, LOW); delay(100); } void updateDebouncers() { ChordDebouncer.update(); MajorDebouncer.update(); MinorDebouncer.update(); AugmentedDebouncer.update(); DiminishedDebouncer.update(); } void checkDebouncerStates() { if (ChordDebouncer.fell()) { ModeStatus.Chord = !ModeStatus.Chord; } if (MajorDebouncer.fell()) { ModeStatus.Major = true; } if (MinorDebouncer.fell()) { ModeStatus.Minor = true; } if (AugmentedDebouncer.fell()) { ModeStatus.Augmented = true; } if (DiminishedDebouncer.fell()) { ModeStatus.Diminished = true; } } void calculateModes() { if (ModeStatus.Chord != LastModeStatus.Chord) { if (ModeStatus.Chord) { ModeStatus.Major = true; } else { ModeStatus.Major = false; ModeStatus.Minor = false; ModeStatus.Augmented = false; ModeStatus.Diminished = false; } } if (ModeStatus.Major != LastModeStatus.Major) { if (ModeStatus.Major) { ModeStatus.Minor = false; ModeStatus.Augmented = false; ModeStatus.Diminished = false; } } if (ModeStatus.Minor != LastModeStatus.Minor) { if (ModeStatus.Minor) { ModeStatus.Major = false; ModeStatus.Augmented = false; ModeStatus.Diminished = false; } } if (ModeStatus.Augmented != LastModeStatus.Augmented) { if (ModeStatus.Augmented) { ModeStatus.Major = false; ModeStatus.Minor = false; ModeStatus.Diminished = false; } } if (ModeStatus.Diminished != LastModeStatus.Diminished) { if (ModeStatus.Diminished) { ModeStatus.Major = false; ModeStatus.Minor = false; ModeStatus.Augmented = false; } } } void writeLEDStates() { int BinaryLEDStatus = B00000000; if (ModeStatus.Chord) { BinaryLEDStatus ^= B00000001; } if (ModeStatus.Major) { BinaryLEDStatus ^= B00000010; } if (ModeStatus.Minor) { BinaryLEDStatus ^= B00000100; } if (ModeStatus.Augmented) { BinaryLEDStatus ^= B00001000; } if (ModeStatus.Diminished) { BinaryLEDStatus ^= B00010000; } PORTB = BinaryLEDStatus; } void loop() { updateDebouncers(); checkDebouncerStates(); calculateModes(); writeLEDStates(); MIDI.read(); LastModeStatus = ModeStatus; } We use the bounce2 library to debounce the switches and read the status of the data lines from the PORTa and PORTB registers. This makes button responses much more stable, especially when checking MIDI. Regards, Doug
×
×
  • Create New...