MCPcopy Create free account
hub / github.com/BespokeSynth/BespokeSynth / DrawModule

Method DrawModule

Source/SamplerGrid.cpp:303–356  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

301}
302
303void SamplerGrid::DrawModule()
304{
305
306 if (Minimized() || IsVisible() == false)
307 return;
308
309 mPassthroughCheckbox->Draw();
310 mVolumeSlider->Draw();
311 mEditCheckbox->Draw();
312 mClearCheckbox->Draw();
313 mGrid->Draw();
314 mGridControlTarget->Draw();
315
316 ofPushStyle();
317 ofSetColor(255, 255, 255, 100);
318 ofFill();
319 for (int x = 0; x < mCols; ++x)
320 {
321 for (int y = 0; y < mRows; ++y)
322 {
323 int idx = GridToIdx(x, y);
324 if (mGridSamples[idx].mHasSample)
325 {
326 ofVec2f cellPos = mGrid->GetCellPosition(x, y);
327 ofVec2f gridSize = mGrid->IClickable::GetDimensions();
328 ofVec2f gridPos = mGrid->IClickable::GetPosition();
329 ofRect(gridPos.x + cellPos.x, gridPos.y + cellPos.y, gridSize.x / mCols, gridSize.y / mCols);
330 }
331 }
332 }
333 ofPopStyle();
334
335 if (mEditMode)
336 {
337 mDuplicateCheckbox->Draw();
338 if (mEditSample && mEditSample->mSampleLength > 0)
339 {
340 ofPushMatrix();
341 ofTranslate(mEditSampleX, mEditSampleY);
342 DrawAudioBuffer(mEditSampleWidth, mEditSampleHeight, mEditSample->mSampleData, 0, mEditSample->mSampleLength, mEditSample->mPlayhead);
343 ofPushStyle();
344 ofFill();
345 ofSetColor(0, 0, 0, 80);
346 float clipStartAmount = float(mEditSample->mSampleStart) / mEditSample->mSampleLength;
347 float clipEndAmount = float(mEditSample->mSampleEnd) / mEditSample->mSampleLength;
348 ofRect(0, 0, mEditSampleWidth * clipStartAmount, mEditSampleHeight);
349 ofRect(mEditSampleWidth * clipEndAmount, 0, mEditSampleWidth * (1 - clipEndAmount), mEditSampleHeight);
350 ofPopStyle();
351 ofPopMatrix();
352 mEditStartSlider->Draw();
353 mEditEndSlider->Draw();
354 }
355 }
356}
357
358void SamplerGrid::GetModuleDimensions(float& width, float& height)
359{

Callers

nothing calls this directly

Calls 11

ofPushStyleFunction · 0.85
ofSetColorFunction · 0.85
ofFillFunction · 0.85
ofRectFunction · 0.85
ofPopStyleFunction · 0.85
ofPushMatrixFunction · 0.85
ofTranslateFunction · 0.85
DrawAudioBufferFunction · 0.85
ofPopMatrixFunction · 0.85
DrawMethod · 0.45
GetCellPositionMethod · 0.45

Tested by

no test coverage detected