For your original question, I can't say of any add-ons that I know that allow you to limit by number of votes. It's generally one or multiple, but some allow you to specify one vote per day.
That said, I don't think the question you asked is correct, and should possibly be edited. The question as asked, is looking to limit the number of votes per member, so 4 votes per each member. But that isn't what you are actually looking to do. It seems as if you actually want, 1 vote per member, but if the member is part of a band, only 4 members have voting privileges.
This is a bit different of an issue. Because it's either about:
- Restricting Number of Band Members- as you mentioned above; or
- Assigning Voting Privileges to Only Some Band Members
Personally, I like the idea of number two, assigning voting privileges, better than restricting number of band members. Because really, if a band has eight people/members, then their listing should probably list 8 members.
The easiest way, I can think of in restricting voting privileges is to have the band decide. Assuming that each band has one primary admin— the person who may register other band members, update band profile, and do whatever else your site allows them to do (it could simple just be tied to the member who creates the band account), that individual can select which members would vote.
I don't know how you create band profiles, yet. But let's assume, an individual joins the music association. The register, create their basic profile, and then at some stage they are offered to create a profile for their band.
Let's then also assume that you are storing member data within channels and NOT just in EE's default membership module (a number of add-ons allow for this) and band profiles are stored in another data channel. You can then relate members to bands, using Playa or the Relationship module.
Next up you would need at least two basic components:
- Someone or Something to Assign Voting Privileges; and
- A Method to Show/Hide Vote Option on Poll based on Voting Privileges.
You can get fancier, but I'm just thinking out loud here.
Let's further assume, that you're NOT going to create a plugin to randomly assign voting privileges to band members (that would be cool, but let's say it's not on your agenda). Then, you'd probably want: a custom field in member profile called member_type: individual, duo, band (or whatever your options). Another custom_field to establish their assignment type: admin (can administer band profile and voting privileges) or member. Then also the custom field '{can_vote}'.
If none of the members have access to the backend control panel, meaning you are giving them editing privileges via SafeCracker forms, then this is much easier to control. You can check to see if the currently logged_in member is a band admin, before displaying the option to assign voting privileges and a list of band members. You'd probably need javascript to check that only 4 records where modified to give them voting privileges.
My javascript skills are minimal, so can't help you there. But it should be doable. Basically, the javascript would enforce the 4 limit, not allowing the update to be submit unless 4 or fewer band members were selected for the privilege.
Then the same works with the poll. It would be viewable to all, but you'd ONLY show the vote/submit button if the person is currently logged_in and has voting privileges. I suppose you could also show to all, and have javascript do a quick query on click to see if they are logged in and have voting privileges.
Those are my initial thoughts.