| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 NotifyEndedTask(PassRefPtr<AudioScheduledSourceNode> scheduledNode); | 61 NotifyEndedTask(PassRefPtr<AudioScheduledSourceNode> scheduledNode); |
| 62 void notifyEnded(); | 62 void notifyEnded(); |
| 63 | 63 |
| 64 private: | 64 private: |
| 65 RefPtr<AudioScheduledSourceNode> m_scheduledNode; | 65 RefPtr<AudioScheduledSourceNode> m_scheduledNode; |
| 66 }; | 66 }; |
| 67 | 67 |
| 68 AudioScheduledSourceNode(AudioContext*, float sampleRate); | 68 AudioScheduledSourceNode(AudioContext*, float sampleRate); |
| 69 | 69 |
| 70 // Scheduling. | 70 // Scheduling. |
| 71 void start(double when = 0); | 71 void start(ExceptionState& es) { start(0.0, es); } |
| 72 void stop(double when = 0); | 72 void start(double when, ExceptionState&); |
| 73 | 73 void stop(ExceptionState& es) { stop(0.0, es); } |
| 74 void noteOn(double when); | 74 void stop(double when, ExceptionState&); |
| 75 void noteOff(double when); | |
| 76 | 75 |
| 77 unsigned short playbackState() const { return static_cast<unsigned short>(m_
playbackState); } | 76 unsigned short playbackState() const { return static_cast<unsigned short>(m_
playbackState); } |
| 78 bool isPlayingOrScheduled() const { return m_playbackState == PLAYING_STATE
|| m_playbackState == SCHEDULED_STATE; } | 77 bool isPlayingOrScheduled() const { return m_playbackState == PLAYING_STATE
|| m_playbackState == SCHEDULED_STATE; } |
| 79 bool hasFinished() const { return m_playbackState == FINISHED_STATE; } | 78 bool hasFinished() const { return m_playbackState == FINISHED_STATE; } |
| 80 | 79 |
| 81 EventListener* onended(DOMWrapperWorld* isolatedWorld) { return getAttribute
EventListener(EventTypeNames::ended, isolatedWorld); } | 80 EventListener* onended(DOMWrapperWorld* isolatedWorld) { return getAttribute
EventListener(EventTypeNames::ended, isolatedWorld); } |
| 82 void setOnended(PassRefPtr<EventListener>, DOMWrapperWorld* isolatedWorld =
0); | 81 void setOnended(PassRefPtr<EventListener>, DOMWrapperWorld* isolatedWorld =
0); |
| 83 | 82 |
| 84 protected: | 83 protected: |
| 85 // Get frame information for the current time quantum. | 84 // Get frame information for the current time quantum. |
| (...skipping 17 matching lines...) Expand all Loading... |
| 103 | 102 |
| 104 // m_startTime is the time to start playing based on the context's timeline
(0 or a time less than the context's current time means "now"). | 103 // m_startTime is the time to start playing based on the context's timeline
(0 or a time less than the context's current time means "now"). |
| 105 double m_startTime; // in seconds | 104 double m_startTime; // in seconds |
| 106 | 105 |
| 107 // m_endTime is the time to stop playing based on the context's timeline (0
or a time less than the context's current time means "now"). | 106 // m_endTime is the time to stop playing based on the context's timeline (0
or a time less than the context's current time means "now"). |
| 108 // If it hasn't been set explicitly, then the sound will not stop playing (i
f looping) or will stop when the end of the AudioBuffer | 107 // If it hasn't been set explicitly, then the sound will not stop playing (i
f looping) or will stop when the end of the AudioBuffer |
| 109 // has been reached. | 108 // has been reached. |
| 110 double m_endTime; // in seconds | 109 double m_endTime; // in seconds |
| 111 | 110 |
| 112 bool m_hasEndedListener; | 111 bool m_hasEndedListener; |
| 112 bool m_stopCalled; |
| 113 | 113 |
| 114 static const double UnknownTime; | 114 static const double UnknownTime; |
| 115 }; | 115 }; |
| 116 | 116 |
| 117 } // namespace WebCore | 117 } // namespace WebCore |
| 118 | 118 |
| 119 #endif // AudioScheduledSourceNode_h | 119 #endif // AudioScheduledSourceNode_h |
| OLD | NEW |