{
- let v = val as number;
- setPosition(v);
- setSliderValue(v);
- }}
- onChangeCommitted={(e, value) => {
- let v = value as number;
- OnSeek(v);
- }}
- onPointerDown={(e) => {
- setDragging(true);
- }}
- onPointerUp={(e) => {
- // setDragging(false);
- }}
- disabled={duration == 0}
- sx={(t) => ({
- width: "100%",
- color: 'rgba(0,0,0,0.87)',
- height: 4,
- '& .MuiSlider-thumb': {
- width: 8,
- height: 8,
- transition: '0.3s cubic-bezier(.47,1.64,.41,.8)',
- '&::before': {
- boxShadow: '0 2px 12px 0 rgba(0,0,0,0.4)',
- },
- '&:hover, &.Mui-focusVisible': {
- boxShadow: `0px 0px 0px 8px ${'rgb(0 0 0 / 16%)'}`,
- ...t.applyStyles('dark', {
- boxShadow: `0px 0px 0px 8px ${'rgb(255 255 255 / 16%)'}`,
- }),
- },
- '&.Mui-active': {
- width: 20,
- height: 20,
- },
- },
- '& .MuiSlider-rail': {
- opacity: 0.28,
- },
- ...t.applyStyles('dark', {
- color: '#fff',
- }),
- })}
- />
-
- {formatDuration(dragging ? sliderValue : effectivePosition)}
- {formatDuration(duration)}
-
+ {SliderCluster()}
{
ControlCluster()
}
@@ -683,11 +734,76 @@ export default function ToobPlayerControl(
-
+ {useWallpaper && ()}
{
useHorizontalLayout ?
HorizontalWidget() : VerticalWidget()
}
+ {showLoopDialog && (
+ {
+ setTimebase(newTimebase);
+ // model.setPatchProperty(
+ // props.instanceId,
+ // "timebase",
+ // newTimebase
+ // );
+ }}
+
+ onClose={() => {
+ setShowLoopDialog(false);
+ }}
+ onSetLoop={(start, loopEnable,loopStart, loopEnd) => {
+
+ let loop: LoopParameters = { start: start,
+ loopEnable: loopEnable,
+ loopStart: loopStart,
+ loopEnd: loopEnd };
+
+ let loopSettings = {
+ timebase: timebase,
+ loopParameters: loop
+ };
+ model.setPatchProperty(
+ props.instanceId,
+ "http://two-play.com/plugins/toob-player#loopSettings",
+ loopSettings.toString());
+
+ setStart(start);
+ // model.setPedalboardControl(
+ // props.instanceId,
+ // "start",
+ // start);
+ setLoopEnable(loopEnable);
+ // model.setPedalboardControl(
+ // props.instanceId,
+ // "loopEnable",
+ // loopEnable? 1.0: 0.0);
+ setLoopStart(loopStart);
+ // model.setPedalboardControl(
+ // props.instanceId,
+ // "loopStart",
+ // loopStart);
+ setLoopEnd(loopEnd);
+ // model.setPedalboardControl(
+ // props.instanceId,
+ // "loopEnd",
+ // loopEnd
+ // );
+ }}
+ start={start}
+ loopStart={loopStart}
+ loopEnable={loopEnable}
+ loopEnd={loopEnd}
+ duration={duration}
+ />
+ )}
{showFileDialog && (